목록으로

Programming Notes

EESSI를 통한 Gromacs 사용 (NC_A100_v4)

이전 블로그에서 다양한 CPU 아키텍처에 대해 고도로 최적화된 애플리케이션에 접근하기 위해 EESSI를 사용하는 방법을 보여드렸습니다. 예를 들면 다음과 같습니다. Azure HPC-on-demand를 사용하여 EESSI의 공통 과학 소프트웨어 스택에 접근하기 |...

이전 블로그에서 다양한 CPU 아키텍처에 대해 고도로 최적화된 애플리케이션에 접근하기 위해 EESSI를 사용하는 방법을 보여드렸습니다. 예를 들면 다음과 같습니다. Azure HPC-on-demand를 사용하여 EESSI의 공통 과학 소프트웨어 스택에 접근하기 | Microsoft Community Hub. 지난 몇 달 동안 EESSI 팀 및 Inuit과 협력하여 EESSI 소프트웨어 스택을 확장하고 Nvidia GPU에 최적화된 코드를 더 쉽게 사용할 수 있도록 했습니다.

아래의 EESSI 설치 스크립트는 cvmfs 설치와 software.eessi.io 저장소 구성을 처리합니다. 또한 호환되는 로컬 드라이버와 CUDA 설치에 대한 링크가 생성되는 공통 /opt/eessi/nvidia 디렉토리를 만듭니다. 이를 통해 CUDA로 컴파일된 소프트웨어가 Nvidia GPU와 상호 작용할 수 있습니다. 아래 스크립트는 VM 시작 중에 root로 실행해야 합니다.

yum install -y https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm

yum install -y cvmfs

yum install -y https://github.com/EESSI/filesystem-layer/releases/download/latest/cvmfs-config-eessi-latest.noarch.rpm

bash -c "echo 'CVMFS_CLIENT_PROFILE="single"' > /etc/cvmfs/default.local"

bash -c "echo 'CVMFS_QUOTA_LIMIT=10000' >> /etc/cvmfs/default.local"

cvmfs_config setup

/cvmfs/software.eessi.io/versions/2023.06/scripts/gpu_support/nvidia/link_nvidia_host_libraries.sh

VM이 준비되면 사용자는 source 명령을 실행하여 EESSI 애플리케이션에 액세스할 수 있습니다. 그러면 최적화된 CPU 아키텍처 모듈뿐만 아니라 GPU 지원 애플리케이션도 로드됩니다. 아래를 참조하십시오.

$> source /cvmfs/software.eessi.io/versions/2023.06/init/lmod/bash

$> module avail

보시다시피 GROMACS(https://www.gromacs.org/)는 사용 가능한 소프트웨어 패키지 중 하나입니다.

이제 모델을 실행할 시간입니다. Max Planck Institute의 Carsten Kutzner는 유효성 검사에 매우 유용한 GROMACS 벤치마크 세트를 제공합니다. https://www.mpinat.mpg.de/grubmueller/bench

$> ml avail GROMACS

$> ml load GROMACS/2024.4-foss-2023b-CUDA-12.4.0

$> wget https://www.mpinat.mpg.de/benchPEP-h; unzip benchPEP-h

$> gmx mdrun -s benchPEP-h.tpr -maxh 0.50 -resethway -noconfout -nsteps 100000 -g logfile -pme gpu -update gpu -bonded gpu

실행 중 nvidia-smi는 GPU가 완전히 활용되고 있음을 보여줍니다.

이것이 EESSI 소프트웨어 스택을 사용하여 과학 코드를 실행하는 데 Nvidia GPU가 얼마나 접근 가능해졌는지 보여주기를 바랍니다. 이 블로그를 쓰는 시점에서 CPU-GPU 조합 중 일부만 완전히 지원됩니다. 이 블로그에서는 NCas_A100_v4의 zen3 + cc80을 보여줍니다.

자세한 내용은 EESSI 블로그에서 찾을 수 있습니다. EESSI의 GPU 지원: 몇 초 만에 제로에서 과학으로 - 유럽 과학 소프트웨어 설치 환경 (EESSI)