KISTI 슈퍼컴퓨팅 기술 블로그

뉴론 Gromacs 멀티노드 활용 본문

시스템 활용 & 팁

뉴론 Gromacs 멀티노드 활용

슈퍼컴퓨팅인프라센터 2019. 10. 21. 10:42

다음은 뉴론을 활용한 Gromacs 테스트 샘플의 실행 방법 및 성능을 보여주는 예제이다.

 


가. 테스트 계산 모델

Gromacs (2018.6 버전)의 실행 테스트를 위하여프로틴을 모델 시스템으로 사용하여 성능을 테스트하였다.



   

나. 실행 방법 및 성능 분석

[Gromacs 실행 명령 부분]

$gmxBin grompp -f opls.mdp -c em20.gro -p topol.top -o md00.tpr

mpirun $gmxBin mdrun -notunepme -ntomp 1 -dlb yes -v -nsteps 40000 -resethway -noconfout -s ${WorkloadPath}/md00.tpr

 


1) 작업 스크립트 예제

#!/bin/sh

#SBATCH J gromacs                           #job의 이름을 지정

#SBATCH p ivy_v100_2                        사용하고자 하는 파티션을 지정(누리온의 큐와 동일한 개념)

#SBATCH N 1                                   작업을 할당할 노드의 수

#SBATCH n 18                                  작업을 위해 할당할 전체 프로세스의 수

#SBATCH o %x.o%j                            표준 출력을 지정

#SBATCH e %x.e%j                            표준 오류를 지정

#SBATCH --time 10:00:00                     # wall time limit을 지정

#SBATCH --gres=gpu:2                        사용할 GPU개수를 지정(현재는 2개 사용하도록 설정됨)

#SBATCH --comment gromacs              사용하는 Application 지정(의무사항)

 

module purge

module load intel/18.0.2 cuda/10.0 cudampi/mvapich2-2.3 cmake/3.12.3

 

ulimit -s unlimited

WorkloadPath={작업 경로}

InstallDir={설치 경로}/bin

gmxBin="${InstallDir}/gmx_mpi"

 

#$gmxBin grompp -f opls.mdp -c em10.gro -p topol.top -o md0.tpr

 

time -p srun $gmxBin mdrun -notunepme -ntomp 1 -dlb yes -v -nsteps 40000 -resethway -noconfout -s ${WorkloadPath}/md0.tpr

뉴론 시스템은 SLURM을 사용한다사용상에서 PBS와 약간의 차이는 있지만전체적으로는 유사한 방식으로 작성을 한다. GPU를 이용하기 위해서는 다음과 같은 라인을 추가해야 한다. 

#SBATCH gres=gpu:1 

여기서 1은 GPU 카드를 1장을 사용하겠다는 의미이며, 2개를 사용하기 위해서는 2를 지정하면 된다.

Gromacs는 CPU 계산 부분과 GPU 계산 부분이 함께 존재하므로 전체 프로세스의 개수를 18로 지정하였다.

 

2) 계산 성능 결과

뉴론 시스템은 노드당 Tesla V100카드가 2장 장착된 노드가 36개(gpu[08-28]/ivy_v100_2, gpu[30-44]/cas_v100_2) 있다

 

 

NODE=1

NODE=2

NODE=3

GPU_2

977

630

X

GPU_1

X

874

395

GPU_2는 2개의 카드가 장착된 노드를 의미하며, GPU_1은 1개의 카드가 장착된 노드를 의미한다.

GPU_2인 인 경우 노드를 3개 사용할 때 실행되지 않았으며, GPU_1인 경우 1개의 노드를 사용할 때 프로그램이 실행되지 않았다. 2개의 노드를 사용하는 경우에만 비교가 가능한데, 2개의 GPU를 사용하는 경우 약간의 성능이득이 있음을 알 수 있다.

 

 KNL, SKL 시스템과의 비교는 "누리온 Gromacs 멀티노드 활용 (KNL)" 참조 (https://blog.ksc.re.kr/163?category=688349)

 

Comments