Skip to content

Commit 7bee3fb

Browse files
author
geekpiehpc
committed
docs: add all untracked content
1 parent d9f8b16 commit 7bee3fb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+4183
-303
lines changed

Algorithm/README.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
---
2+
title: README
3+
description:
4+
published: true
5+
date: 2022-03-21T03:18:39.208Z
6+
tags:
7+
editor: markdown
8+
dateCreated: 2022-03-21T02:19:23.816Z
9+
---
10+
111
# Algorithm
212

313
这里放置有关应用和测试中常见的算法。

Algorithm/dgemm.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: dgemm
33
description:
44
published: true
5-
date: 2022-03-27T00:08:32.337Z
5+
date: 2022-03-27T19:33:00.910Z
66
tags:
77
editor: markdown
88
dateCreated: 2022-03-26T16:14:08.563Z

Algorithm/fft.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
---
2+
title: fft
3+
description:
4+
published: true
5+
date: 2022-03-26T16:14:07.082Z
6+
tags:
7+
editor: markdown
8+
dateCreated: 2022-03-26T16:14:04.196Z
9+
---
10+
111
# FFT
212
An algorithm widely used in PDE solutions/ numerical emulation.
313

Algorithm/kmer.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
---
2+
title: kmer
3+
description:
4+
published: true
5+
date: 2022-03-26T15:22:18.421Z
6+
tags:
7+
editor: markdown
8+
dateCreated: 2022-03-26T15:22:15.571Z
9+
---
10+
111
# MHM2 Adjusting k-mers
212
A method of visualizing k-mers, the k-mer spectrum, shows the multiplicity of each k-mer in a sequence versus the number of k-mers with that multiplicity. It requires a DHT to store the sequence.
313

Apps/ASC/asc-19/cesm.md

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
<!-- TITLE: CESM -->
2-
<!-- SUBTITLE: CESM summary -->
1+
---
2+
title: CESM
3+
description: CESM summary
4+
published: true
5+
date: 2022-03-21T03:20:43.505Z
6+
tags:
7+
editor: markdown
8+
dateCreated: 2022-03-21T02:22:35.913Z
9+
---
310

411
# CESM
512

Apps/ASC/asc-20/quest.md

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
<!-- TITLE: Quest -->
2-
<!-- SUBTITLE: A quick summary of Quest -->
1+
---
2+
title: Quest
3+
description: A quick summary of Quest
4+
published: true
5+
date: 2022-03-26T21:23:38.115Z
6+
tags:
7+
editor: markdown
8+
dateCreated: 2022-03-21T02:22:41.392Z
9+
---
310

411
# quest analysis
512

Apps/ISC/ISC-21/CodeChallenge.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
---
2+
title: CodeChallenge
3+
description:
4+
published: true
5+
date: 2022-03-26T13:17:48.429Z
6+
tags:
7+
editor: markdown
8+
dateCreated: 2022-03-21T02:22:46.060Z
9+
---
10+
111
## AutoTuning 就是一个简单OI题
212
这题目本来是 NV 内部做 OSU 测试的一个小工具,拿出来给我们做题。题目要求根据不同 rank 之间的数据交换能力,做简单的调优,
313

Apps/ISC/ISC-21/GPAW.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
---
2+
title: GPAW
3+
description:
4+
published: true
5+
date: 2022-03-26T15:22:23.374Z
6+
tags:
7+
editor: markdown
8+
dateCreated: 2022-03-26T15:22:20.417Z
9+
---
10+
111
# GPAW
212

313
- Cython program

Apps/ISC/ISC-21/LAMMPS.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
title: LAMMPS
33
description:
44
published: true
5-
date: 2022-03-21T03:12:48.600Z
5+
date: 2022-03-26T15:22:27.756Z
66
tags:
77
editor: markdown
8-
dateCreated: 2022-03-21T02:23:12.832Z
8+
dateCreated: 2022-03-26T13:17:48.644Z
99
---
1010

1111
# LAMMPS

Apps/ISC/ISC-21/MHM2.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
title: MHM2
33
description:
44
published: true
5-
date: 2022-03-21T03:12:48.600Z
5+
date: 2022-03-27T19:33:03.933Z
66
tags:
77
editor: markdown
8-
dateCreated: 2022-03-21T02:23:12.832Z
8+
dateCreated: 2022-03-26T13:17:53.145Z
99
---
1010

1111
# MHM2

Apps/ISC/ISC-21/README.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
---
2+
title: README
3+
description:
4+
published: true
5+
date: 2022-03-21T03:20:53.582Z
6+
tags:
7+
editor: markdown
8+
dateCreated: 2022-03-21T02:22:50.172Z
9+
---
10+
111
# ISC 21
212

313
Rewind: https://victoryang00.cn/wordpress/2021/06/27/isc-21hui-gu/

Apps/ISC/ISC-21/WRF.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
---
2+
title: WRF
3+
description:
4+
published: true
5+
date: 2022-03-21T03:20:56.743Z
6+
tags:
7+
editor: markdown
8+
dateCreated: 2022-03-21T02:22:54.515Z
9+
---
10+
111
# WRF
212

313
> 傻逼Fortran,2021年了,居然还有人用Fortran

Apps/ISC/ISC-22/ICON.md

+76-89
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,82 @@
1-
# ICON
2-
- a unified next-generation global numerical weather prediction and climate modelling system
3-
- Atmosphere and Ocean components
4-
- in Grid Point Space on a Geodesic Icosahedral Grid
5-
- MPI Application
6-
![](icon-graph.png)
7-
![](icon-graph1.png)
8-
![](icon-graph2.png)
9-
10-
11-
## IPM Result
12-
![](icon-ipm.png)
13-
![](icon-ipm1.png)
14-
15-
- Why 20 MPI Rank Having more MPI_WAIT time than others?
16-
- How to Reduce MPI Call time and Balance MPI?
17-
18-
## Intel® Trace Analyzer and Collector Detailed MPI Profiling Result
19-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC25.png)
20-
21-
22-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC26.png)
23-
24-
* Intel® Trace Analyzer and Collector Detailed MPI Profiling
25-
* MPI Message Matrix
26-
27-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC27.png)
28-
29-
* Intel® Trace Analyzer and Collector Detailed MPI Profiling
30-
* MPI Trace
31-
32-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC28.png)
33-
34-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC29.png)
35-
36-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC30.png)
37-
38-
* Intel® Trace Analyzer and Collector Detailed MPI Profiling
39-
* MPI Pattern 1
40-
41-
__MPI Pattern 1 Barrier__
42-
43-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC31.png)
44-
45-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC32.png)
46-
47-
_Ocean Ranks always Waiting for Atmosphere Ranks_
48-
49-
* Intel® Trace Analyzer and Collector Detailed MPI Profiling
50-
* MPI Pattern 2
51-
52-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC33.png)
1+
---
2+
title: ICON
3+
description:
4+
published: true
5+
date: 2022-04-23T08:06:22.718Z
6+
tags:
7+
editor: markdown
8+
dateCreated: 2022-03-21T02:22:59.229Z
9+
---
5310

54-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC34.png)
55-
56-
* Ocean Procs Tuning
57-
* 20 Ocean\, 140 Atmosphere Ranks @ Niagara
58-
* 36 Ocean\, 476 Atmosphere Ranks @ Bridges2
59-
* block:block
60-
61-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC35.jpg)
62-
63-
## ICON Serial Code Tuning
64-
65-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC36.png)
66-
67-
- Nproma Tuning
68-
- Vectorization and SIMD
69-
- _AVX512 with Intel_
70-
71-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC37.png)
72-
73-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC38.png)
74-
75-
## ICON Things can be Improve
76-
77-
GPU Version
78-
79-
Increase MPI affinity with slurm at bridges\-2
80-
81-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC39.png)
82-
83-
![](img/ISC22-Final-Report-ShanghaiTech-GeekPie_HPC40.png)
84-
85-
## Lessons learned
11+
# ICON
8612

87-
* Always notice the Communication Pattern of a MPI Application
88-
* When a MPI application separates its ranks to do the different jobs\, the load balance must be taking into consider\.
89-
* A Detailed MPI Trace Profile is Important
90-
* A detailed profiling result can tell you more about the data dependency and the bottleneck\.
91-
* Different Architecture have different Vectorization Ability
13+
## Prepare
9214

15+
```bash
16+
git clone https://gitlab.dkrz.de/icon-scc-isc22/icon-scc
17+
cd /path/to/icon-scc
18+
git submodule init
19+
git submodule update
20+
```
21+
## How to run
22+
### spack compile
23+
```bash
24+
spack install -j (nproc) -vvvv icon%[email protected]
25+
```
26+
There are some varients:
27+
- debug
28+
- cuda
29+
- openmp
30+
31+
### run copy scripts
32+
```bash
33+
cd {ICON_BUILD_DIR}
34+
export ICON_DIR={ICON_DIR}
35+
# Copy runscript-related files when building out-of-source:
36+
if test $(pwd) != $(cd "${ICON_DIR}"; pwd); then
37+
echo "Copying runscript input files from the source directory..."
38+
rsync -uavz ${ICON_DIR}/run . --exclude='*.in' --exclude='.*' --exclude='standard_*'
39+
ln -sf -t run/ ${ICON_DIR}/run/standard_*
40+
ln -sf set-up.info run/SETUP.config
41+
rsync -uavz ${ICON_DIR}/externals . --exclude='.git' --exclude='*.f90' --exclude='*.F90' --exclude='*.c' --exclude='*.h' --exclude='*.Po' --exclude='tests' --exclude='rrtmgp*.nc' --exclude='*.mod' --exclude='*.o'
42+
rsync -uavz ${ICON_DIR}/make_runscripts .
43+
ln -sf ${ICON_DIR}/data
44+
ln -sf ${ICON_DIR}/vertical_coord_tables
45+
fi
46+
```
47+
### Gen sbatch
48+
```bash
49+
cd {ICON_BUILD_DIR}
50+
export ICON_DIR={ICON_DIR}
51+
cd {ICON_BUILD_DIR}/run
52+
$ICON_DIR/utils/mkexp/mkexp standard_experiments/scc.config CO2=2850
53+
```
54+
OK if
55+
```bash
56+
Script directory: '/mnt/nfs4/node1/home/qinfr/spack/opt/spack/linux-ubuntu20.04-zen/gcc-6.4.0/icon-2021-isc-scc-hw7pyldsuxsug2jrnmhdulvk5knzbzw6/experiments/exp_scc2850/scripts'
57+
Data directory: '/mnt/nfs4/node1/home/qinfr/spack/opt/spack/linux-ubuntu20.04-zen/gcc-6.4.0/icon-2021-isc-scc-hw7pyldsuxsug2jrnmhdulvk5knzbzw6/experiments/exp_scc2850/outdata'
58+
Work directory: '/mnt/nfs4/node1/home/qinfr/spack/opt/spack/linux-ubuntu20.04-zen/gcc-6.4.0/icon-2021-isc-scc-hw7pyldsuxsug2jrnmhdulvk5knzbzw6/experiments/exp_scc2850/work'
59+
```
60+
### Modify sbatch
61+
In `experiments/exp_scc2850/scripts/exp_scc2850.run_start`
62+
- FIX SLURM args
63+
- FIX path
64+
- no `/build/`
65+
- no `/home/qinfr`
66+
```git
67+
- BUILD_DIR=/home/qinfr/spack/opt/spack/linux-ubuntu20.04-zen/gcc-6.4.0/icon-2021-isc-scc-hw7pyldsuxsug2jrnmhdulvk5knzbzw6/BUILD
68+
+ BUILD_DIR=/mnt/nfs4/node1/home/qinfr/spack/opt/spack/linux-ubuntu20.04-zen/gcc-6.4.0/icon-2021-isc-scc-hw7pyldsuxsug2jrnmhdulvk5knzbzw6/
69+
+ export PATH={cdo-1.9.10_BUILD_DIR}/bin:$PATH
70+
...
71+
```
72+
73+
74+
75+
- Subsitute all `/home/qinfr` to `/mnt/nfs4/node1/home/qinfr/`
76+
### Run
77+
```bash
78+
sbatch exp_scc2850.run_start
79+
```
9380
## Tips
9481
### How to check if compiled code uses SSE and AVX instructions?
9582
[https://stackoverflow.com/questions/47878352/how-to-check-if-compiled-code-uses-sse-and-avx-instructions](https://stackoverflow.com/questions/47878352/how-to-check-if-compiled-code-uses-sse-and-avx-instructions)

0 commit comments

Comments
 (0)