Table of Contents |
---|
Korištenje
Na klasteru su instalirane CPU (klasični procesori) i GPU (grafički procesori) varijante programskog paketa Amber u serijskoj i paralelnoj izvedbi.
...
Tip | Verzija | Modul |
---|---|---|
CPU | 16 | amber/16 |
CPU | 20 | amber/20 |
CPU | 22 | amber/22 |
GPU | 16 | amber/16-gpu |
GPU | 20 | amber/20-gpu |
GPU | 22 | amber/22-gpu |
CPU Amber
Paralelne izvedbe Amber poslova:
...
Tip | ||
---|---|---|
| ||
Koristiti paralelnu okolinu gpusingle kako bi svi zatraženi grafički procesori bili dodijeljeni s istog fizičkog čvora jer širenje paralelnih GPU Amber poslova na više fizičkih čvorova ne doprinosi performansama. |
Instalacija
Amber 16
Programski paket Amber je podijeljen u dva dijela:
- AmberTools - skup javno dostupnih programa koji se distribuiraju pod slobodnom licencom GPL
Amber - simulacijski program
pmemd
koji nije javno objavljen i distribuira se pod ograničenom licencom
Priprema instalacije
Priprema obuhvaća:
- otpakiranje arhive
Amber16.tar.bz2
- sadrži izvorni kod simulacijskog programa
pmemd
- sadrži izvorni kod simulacijskog programa
- otpakiranje arhive
AmberTools16.tar.bz2
- instalacija Parallel NetCDF biblioteke
- biblioteka je preduvjet za paralelnu izvedbu Ambera
...
Code Block |
---|
# git clone https://github.com/Parallel-NetCDF/PnetCDF.git # cd PnetCDF PnetCDF# autoreconf -i PnetCDF# ./configure --prefix=/apps/PnetCDF PnetCDF# make -j8 PnetCDF# make install |
CPU Amber
Instalacija serijske izvedbe Amber je obavljena kompajliranjem izvornog koda s kompajlerom Intel 2019:
...
Code Block |
---|
amber16# source amber.sh amber16# module load mpi/mvapich2-intel-2.2-x86_64 amber16# ./configure -rism -mpi -noX11 --with-pnetcdf /apps/PnetCDF --with-python /usr/bin/python --python-install local intel amber16# make -j8 |
GPU Amber
Instalacija serijske izvedbe Amber je obavljena kompajliranjem izvornog koda s kompajlerom Intel 2017 te paralelnim frameworkom CUDA-9.0:
...
Code Block |
---|
amber16# module load mpi/mvapich2-intel2017-cuda90-2.2-x86_64
amber16# ./configure -cuda -mpi --with-pnetcdf /apps/PnetCDF intel |
Amber 20
Priprema je odrađena na isti način kao i u verziji 16 otpakiravanjem slobodno te komercijalno dostupnih paketa. Novost u Amber 20 u odnosu na 16 jest izgradnja izvršnog oblika paketa pomoću sustava cmake
. Pritom je zadržan i klasični način autoconf
tako da Amber 20 podržava dva načina za kompajliranje i linkanje u izvršni oblik.
GPU i CPU Amber 20 su na klaster instalirane sljedećom kombinacijom:
kompajler | build alat | varijanta |
---|---|---|
intel/2017 | autoconf | CPU avx |
intel/2017 | cmake | CPU avx2 |
gcc/8 | cmake | GPU |
Note | ||
---|---|---|
| ||
Amber dolazi s nekolicinom Python pomoćnih alata kojima u varijanti izgradnje s |
CPU Amber
Instalacija serijske izvedbe Amber 20 se vrši kompajliranjem izvornog koda s Intel 2017 kompajlerom:
Code Block |
---|
# module load intel/2017 # export AMBERHOME=$HOME/amber20_src # cd $HOME/amber20_src/ amber20# ./configure -noX11 --with-python /usr/bin/python --python-install local intel amber20# make -j8 |
Instalacija paralelne izvedbe Amber 20 se vrši kompajliranjem izvornog koda s Intel 2017 kompajlerom i MVAPICH-2.2 MPI implementacijom:
Code Block |
---|
amber20# module load mpi/mvapich2-intel2017-2.2-x86_64 amber20# ./configure -rism -mpi -noX11 --with-pnetcdf /apps/PnetCDF --with-python /usr/bin/python --python-install local intel amber20# make -j8 amber20# make install |
Kopiranje izvršnog oblika u željenu putanju:
Code Block |
---|
amber20# cp -R bin/ lib/ include/ dat/ logs/ /destination |
GPU Amber
GPU varijanta Amber 20 je kompajlirana s GCC-8 i MVAPICH 2.2.
Priprema:
Code Block |
---|
amber20# module load gcc/8
amber20# module load cuda/10-1 |
Editiranje datoteke build/run_cmake
:
Code Block |
---|
# Assume this is Linux:
cmake $AMBER_PREFIX/amber20_src \
-DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/amber20-gpu \
-DCOMPILER=GNU \
-DMPI=FALSE -DCUDA=TRUE -DINSTALL_TESTS=FALSE \
-DDOWNLOAD_MINICONDA=TRUE -DMINICONDA_USE_PY3=TRUE \
2>&1 | tee cmake.log |
- postavljanje
-DMPI=FALSE
te-DCUDA=TRUE
Kompajliranje serijske GPU varijante:
Code Block |
---|
amber20# build/run_cmake && make -j8 && make install |
Dodatna priprema za paralelnu GPU varijantu:
Code Block |
---|
amber20# module load mpi/mvapich2-2.2-x86_64
amber20# export NCCL_HOME=/apps/nvidia/nccl/nccl_2.3.5-2+cuda10.0_x86_64 |
build/run_cmake
:
Code Block |
---|
# Assume this is Linux:
cmake $AMBER_PREFIX/amber20_src \
-DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/amber20-gpu \
-DCOMPILER=GNU \
-DMPI=TRUE -DNCCL=TRUE -DCUDA=TRUE -DINSTALL_TESTS=FALSE \
-DDOWNLOAD_MINICONDA=TRUE -DMINICONDA_USE_PY3=TRUE \
2>&1 | tee cmake.log |
- postavljanje
-DMPI=TRUE
,-DCUDA=TRUE
te-DNCCL=TRUE
Kompajliranje paralelne GPU varijante:
Code Block |
---|
amber20# build/run_cmake && make -j8 && make install |
Kopiranje izvršnog oblika u željenu putanju:
Code Block |
---|
amber20# cp -R amber20-gpu/* /destination/amber/20/gpu |
Ispravljanje Python shebang interpretera:
Code Block |
---|
find /destination/amber/20/gpu -type f -name '*.py' -exec sed -i 's/originalna\/putanja/destination\/amber\/20\/gpu/' {} \; |