gromacsではmpiを使わないthreads計算向けのコンパイルを示した.

gromacsには複数台のGPUノードを使っての計算が出来るようにmpi対応が行われている.
ここではそのmpi対応のバイナリーを作ってみる.

mpiでthreads計算ができる ハイブリッド型 なのかなと思う. relionと同じようにmpiプロセス数とそのmpiでのthreadsを指定できるかと

コンパイル

mpiを使うのでmpiパッケージを入れます

[root@rockylinux9 ~]# dnf install openmpi-devel

その上で

[root@rockylinux9 ~]# cd /apps/src/gromacs-2023.1/
 
[root@rockylinux9 gromacs-2023.1]# mkdir build-mpi; cd build-mpi
 
[root@rockylinux9 build-mpi]# module load mpi/openmpi-x86_64
 
[root@rockylinux9 build-mpi]# cmake .. -DCMAKE_INSTALL_PREFIX=/apps/gromacs-2023.1 -DGMX_GPU=CUDA -DGMX_MPI=ON -DREGRESSIONTEST_DOWNLOAD=ON
 :
-- Performing Test MPI_SUPPORTS_CUDA_AWARE_DETECTION
-- Performing Test MPI_SUPPORTS_CUDA_AWARE_DETECTION - Success
-- Checking for MPI_SUPPORTS_CUDA_AWARE_DETECTION - yes
 :
 
 
 
[root@rockylinux9 build-mpi]# make; make; make
 
[root@rockylinux9 build-mpi]# OMPI_ALLOW_RUN_AS_ROOT=1 OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 make check
 :
 
100% tests passed, 0 tests failed out of 89
 
Label Time Summary:
GTest              = 260.34 sec*proc (83 tests)
IntegrationTest    = 106.56 sec*proc (27 tests)
MpiTest            = 132.03 sec*proc (21 tests)
QuickGpuTest       =  45.76 sec*proc (17 tests)
SlowGpuTest        = 1164.83 sec*proc (18 tests)
SlowTest           =  92.18 sec*proc (13 tests)
UnitTest           =  61.60 sec*proc (43 tests)
 
Total Test time (real) = 1291.01 sec
[100%] Built target run-ctest-nophys
[100%] Built target check
 
[root@rockylinux9 build-mpi]# make install

メモ

「make check」の際はroot権限で実行する際ちょいと環境変数を調整する必要がある. 加えて core数が 8個以上ないとエラーになるみたい.
「OMPI_ALLOW_RUN_AS_ROOT=1 OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 make check」

インストール先は threads 版のインストール先と同じで構わない


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2023-05-02 (火) 06:15:39 (38d)