# GROMACS-2025.4 (GPU 버전) 설치

KISTI 뉴론 시스템에서  gromacs 2025.4 버전을 컴파일 하는 예시입니다.

## **가. 설치 환경**

| 구분            | 내용                            |
| ------------- | ----------------------------- |
| 대상 시스템        | 뉴론 (GPU Cluster System)       |
| OS Version    | Rocky 9.4 (Blue Onyx)         |
| Architecture  | x86\_64                       |
| GPU           | NVIDIA V100, A100, H100, H200 |
| 컴파일러          | NVIDIA HPD SDK 25.11          |
| MPI           | OpenMPI 4.1.9                 |
| <p>기타<br></p> | CMAKE 4.2.1                   |

## **나. 설치 전 환경 설정**

뉴론 시스템은 PATH, LD\_LIBRARY\_PATH 등을 쉽게 하기 위하여 OpenSource 인 Environment Modules이 구성되어 있습니다. 이하 설치 예시 에서는 module load를 이용하여 설치 진행합니다.

\[ 환경 설정 ]

```shell-session
$ module purge
$ module load nvhpc/25.11_cuda12 cmake/4.2.1
```

## **다. gromacs-2025.4 버전 설치 과정**

설치 과정 소개는 tar 를 이용한 압축 해제 방법과 설정 방법 등 진행 절차를 위주로 설명하고, 소스 파일 다운로드 등은 생략합니다.

\[설치과정]

```shell-session
$ tar -xzf gromacs-2025.4.tar.gz
$ cd gromacs-2025.4/

$ mkdir build; cd build

$ cmake .. \
-DCMAKE_INSTALL_PREFIX=[gromacs를 설치할 경로] \
-DCMAKE_CUDA_COMPILER=$(which nvcc) \
-DCMAKE_C_COMPILER=$(which gcc) \
-DCMAKE_CXX_COMPILER=$(which g++) \
-DGMX_MPI=ON \
-DGMX_GPU=CUDA \
-DGMX_CUDA_TARGET_SM="70;80;90" \
-DGMX_SIMD=AVX_256 \
-DGMX_USE_CUFFTMP=ON \
-DcuFFTMp_INCLUDE_DIR=/apps/compiler/nvidia_hpc_sdk/24.5/Linux_x86_64/24.5/math_libs/12.4/include/cufftmp \
-DcuFFTMp_LIBRARY=/apps/compiler/nvidia_hpc_sdk/24.5/Linux_x86_64/24.5/math_libs/12.4/lib64/libcufftMp.so \
-DGMX_FFT_LIBRARY=fftw3 \
-DFFTWF_LIBRARY=/apps/libraries/fftw3/3.3.10/gcc/11.5.0/lib/libfftw3f.a \
-DFFTWF_INCLUDE_DIR=/apps/libraries/fftw3/3.3.10/gcc/11.5.0/include

$ make > make.log 2>&1
$ make install
```

※ <mark style="color:$primary;">**"**</mark><mark style="color:$primary;">CMAKE\_INSTALL\_PREFIX"</mark> 에는 GROMACS를 설치할 사용자 디렉터리 경로를 입력합니다.

※ <mark style="color:$primary;">"GMX\_CUDA\_TARGET\_SM"</mark> 는 GPU의 SM(Streaming Multiprocessor)을 지정하는 옵션으로 V100은 70, A100은 80, H100/H200은 90 입니다. 불필요한 SM을 제외하면 빌드 시간 및 실행파일 크기를 줄일 수 있으나, 해당 GPU에서만 실행 가능합니다.&#x20;

※ <mark style="color:$primary;">"GMX\_SIMD"</mark> 는 SIMD(벡터화) 명령어 집합을 지정하는 옵션으로 계산노드의 CPU에 맞게 더  높은 수준의 옵션을 선택하면 성능이 향상될 수 있습니다. 뉴론과 같이 여러 사양의 노드로 구성된 시스템에서는 공통으로 지원하는 SIMD를 선택하면 모든 계산노드에서 실행할 수 있습니다.
