일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- cuda
- 신바람
- GPU
- GROMACS
- sinbaram
- 5호기
- 슈퍼컴퓨터
- 뉴론
- abaqus
- TACHYON2
- G16
- 국가슈퍼컴퓨팅센터
- 가우시안
- 누리온
- Kat
- HPC
- SGE
- neuron
- vasp
- 타키온2
- KISTI
- Gaussian
- openfoam
- Linux
- 슈퍼컴퓨팅교육
- ansys
- nurion
- 슈퍼컴퓨팅
- KNL
- skl
- Today
- Total
KISTI 슈퍼컴퓨팅 기술 블로그
누리온 QE 멀티노드 활용(SKL) 본문
다음은 누리온 SKL을 활용한 QE 테스트 샘플의 실행 방법 및 성능을 보여주는 예제이다.
가. 테스트 계산 모델
QE (6.4.1 버전)의 실행 테스트를 위하여, 실리콘 128개 원소로 테스트를 진행하였다.
model | DFT | atom | cutoff | IBZKT | FFT grid | electron | band | diagonalization | I/O | memory* |
si128 | HSE | 128 | 20 | 1 | (90, 90, 90) | 512 | 307 | 1k x 1k | none | 3.13 GB |
나. 실행 방법 및 성능 분석
1) 작업 스크립트 예제
#!/bin/sh #PBS –N 1L01N40C40M01T # job의 이름(여러 개의 작업 제출 시 사용자가 구분하기 위한 목적) #PBS –V # 작업 제출 노드(로그인 노드)에서 설정한 환경을 계산 노드에 적용하기 위해 사용함 #PBS –q norm_skl # 사용 큐 #PBS –l select=1:ncpus=40:mpiprocs=40:ompthreads=1 # 아래 참조 #PBS –l walltime=06:00:00 # 작업을 수행할 시간( normal 큐는 최대 48시간까지 가능) #PBS –A qe # 자료 수집의 목적으로 프로그램 이름을 기입해야 함(의무사항)
cd {작업 위치}
time -p mpirun {설치 위치}/pw.x -nimage 1 -npool 1 -ntg 1 -ndiag 1 -inp Si.in > ./Si.out |
* 작업 스크립트는 이전의 KNL과 거의 동일, 차이점은 사용하는 큐가 normal 큐에서, norm_skl로 바뀐 점, 그리고 KNL이 노드 당 코어를 68개인 것에 반해 SKL은 40개의 코어를 가지고 있기 때문에, 아래와 같이 가용 core수와 MPI 프로세스 수가 40이 넘을 수 없다는 점임.
#PBS –l select=1:ncpus=40:mpiprocs=40:ompthreads=1
2) 계산 성능 결과
테스트를 위해서 사용한 input의 경우 병렬 성능에 영향을 주는 input Argument는 –ntg, -nbgrp 두 개의 argument이다. 실험 방식은 KNL의 경우와 같다. 자세한 내용은 "누리온 QE 멀티노드 활용(KNL)" 참조
KNL 링크)
▶ -ntg 1 –nbgrp X 조합 실행
nbgrp | NODE=1 | NODE=2 | NODE=4 | NODE=8 | NODE=16 |
1 | 9254 | 4836 | 2628 | 1680 |
|
2 | 11700 | 6436 | 3245 | 1735 | 1621 |
4 | 11969 | 5767 | 2813 | 1634 | 834 |
8 | 11519 | 6024 | 2990 | 1440 | 798 |
16 |
| 5971 | 3186 | 1538 | 751 |
▶ -ntg X –nbgrp 1 조합 실행
ntg | NODE=1 | NODE=2 | NODE=4 | NODE=8 | NODE=16 |
1 | 9254 | 4836 | 2628 | 1680 | - |
2 | 9151 | 4686 | 2515 | 1425 | - |
4 | 16115 | 4731 | 2427 | 1394 | - |
8 | 16552 | 4786 | 4224 | 1336 | - |
16 | - | 6069 | 4031 | 1426 | - |
ntg의 값을 1로 고정하고 nbgrp 값의 변화에 따라 노드별 성능을 표시하고 반대로 nbgrp 값을 1로 고정한 후 ntg값을 노드별 성능을 확인하였다. 실험 결과는 KNL과 유사한 패턴을 보여주고 있으며, 각각 nbgrp=16, node=16일 때 가장 좋은 성능을 보여주고 있으며, ntg=8, node=8일 때 가장 좋은 성능을 보여주고 있다.
위 패턴은 KNL과 동일한 패턴이므로, 동일하게 ntg의 값 8일 때와 nbgrp 16일 때 가장 좋은 성능이 나올 것이라 예상할 수 있다.
▶ ntg, nbgrp argument의 조합 실행
아래는 ngt=8, nbgrp=16으로 실행했을 때의 결과이다.
| NODE=1 | NODE=2 | NODE=4 | NODE=8 | NODE=16 |
SEC | - | 4724 | 4207 | 1358 | - |
예상과 달리 node=16일 때 결과가 나오지 않고 오류가 발생하면서 수행이 되지 않는다. 또한 8개 노드일 때 역시도 ntg=1 일 때보다 성능이 좋지 않다. ntg와 nbgrp의 조합으로 성능이 좋아지는 것이 아닌 성능이 오히려 떨어지는 현상에 대한 원인을 찾기 위해 여러 가지 조합식을 대응시켜 코드 수행을 해본 결과 ‘-ntg 1 –nbgrp 16’일 때 16개 노드를 사용하는 것보다 빠른 성능을 보여주는 결과는 없었다.
ntg와 nbgrp와 관계된 계산식은 QE가 core와 관계된 계산식을 따로 가지고 있는 것으로 보이며, SKL 노드는 40개 코어로 2의 제곱승의 방식으로 계산이 되지 않기에 수행이 되지 않는 현상이 발생하는 것으로 예상할 수 있다.
※ 누리온 KNL 노드, GPU 시스템 뉴론과의 성능 비교는 "누리온 QE 멀티노드 활용(KNL)" 참조
'시스템 활용 & 팁' 카테고리의 다른 글
누리온 VASP 멀티노드 활용(SKL) (0) | 2019.10.30 |
---|---|
누리온 VASP 멀티노드 활용(KNL) (0) | 2019.10.30 |
누리온 QE 멀티노드 활용(KNL) (0) | 2019.10.30 |
뉴론 LAMMPS 멀티노드 활용 (0) | 2019.10.30 |
누리온 LAMMPS 멀티노드 활용(SKL) (0) | 2019.10.29 |