# HPC-AI Competition NAMD Benchmark Guideline ## Run our benchmark For the NAMD part, We installed NAMD and other necessary software in the NSCC computer. and submit a PBS script “namd-pbs-script.sh” to run the benchmark. ## Necessary software build in NSCC ### gcc(v8.4.0) ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/app export version=8.4.0 wget https://ftp.gnu.org/gnu/gcc/gcc-${version}/gcc-${version}.tar.gz tar vxf gcc-${version}.tar.gz cd gcc-8.4.0 ./contrib/download_prerequisites mkdir build cd build ../configure --enable-checking=release \ --enable-languages=c,c++,fortran --disable-multilib \ --prefix=/root/gcc make -j$(nproc) make install -j$(nproc) ``` #### gcc modulefile :::info ```shell= #%Module set BASEPATH /home/users/industry/ai-hpc/apacsc29/scratch/app/lib/gcc prepend-path PATH $BASEPATH/bin prepend-path LD_LIBRARY_PATH $BASEPATH/lib:$BASEPATH/lib64 ``` >vim /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 ::: ### Intel mpi(v2019.5.281) ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/app wget http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15809/parallel_studio_xe_2019_update5_cluster_edition_online.tgz tar xvf parallel_studio_xe_2019_update5_cluster_edition_online.tgz cd parallel_studio_xe_2019_update5_cluster_edition_online vim silent.cfg --------------------------------------------------------- ACCEPT_EULA=accept PSET_INSTALL_DIR=/home/users/industry/ai-hpc/apacsc29/scratch/app/intel ACTIVATION_SERIAL_NUMBER=S477-Z28VJXXB ACTIVATION_TYPE=serial_number ARCH_SELECTED=INTEL64 --------------------------------------------------------- module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 ./install.sh -s silent.cfg ``` ### cmake(v3.18.2) build with icc ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/app wget https://github.com/Kitware/CMake/releases/download/v3.18.2/cmake-3.18.2.tar.gz tar xvf cmake-3.18.2.tar.gz cd cmake-3.18.2 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 ./bootstrap --parallel=$(nproc) --prefix=/home/users/industry/ai-hpc/apacsc29/scratch/app/cmake-icc CC=icc CXX=icpc make -j24 make -j24 install ``` ```shell= #%Module set TOP_DIR /home/users/industry/ai-hpc/apacsc29/scratch/app/cmake-icc prepend-path PATH ${TOP_DIR}/bin ``` >vim /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/cmake/3.18.2 ### UCX(v1.9.0) build with icc ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/app wget https://github.com/openucx/ucx/releases/download/v1.9.0/ucx-1.9.0.tar.gz tar xvf ucx-1.9.0.tar.gz cd ucx-1.9.0 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 ./configure CC=icc CXX=icpc F77=ifort FC=ifort --disable-logging --disable-debug --disable-assertions --disable-params-check --without-java --with-knem=/opt/knem-1.1.3.90mlnx1 --enable-mt --with-avx --with-march=avx2 --without-xpmem --prefix=/home/users/industry/ai-hpc/apacsc29/scratch/app/ucx1.9.0 make -j24 make -j24 install ``` :::info ```shell= #%Module set TOP_DIR /home/users/industry/ai-hpc/apacsc29/scratch/app/ucx1.9.0 prepend-path PATH ${TOP_DIR}/bin prepend-path LD_LIBRARY_PATH ${TOP_DIR}/lib prepend-path LIBRARY_PATH ${TOP_DIR}/lib prepend-path CPATH ${TOP_DIR}/include ``` >vim /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/ucx/1.9.0 ::: ### event(v2.1.12) ```shell= module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 cd /home/users/industry/ai-hpc/apacsc29/scratch/app/lib wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz tar xvf libevent-2.1.12-stable.tar.gz cd libevent-2.1.12-stable ./configure --prefix=/home/users/industry/ai-hpc/apacsc29/scratch/app/lib/event --disable-openssl make -j24 make -j24 install ``` ### openmpi(v4.0.4) build with gcc+ucx ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/app wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.4.tar.gz tar xvf openmpi-4.0.4.tar.gz wget http://content.mellanox.com/hpc/hpc-x/v2.7/hpcx-v2.7.0-gcc-MLNX_OFED_LINUX-5.0-1.0.0.0-redhat6.10-x86_64.tbz tar xvf hpcx-v2.7.0-gcc-MLNX_OFED_LINUX-5.0-1.0.0.0-redhat6.10-x86_64.tbz cd openmpi-4.0.4 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 ./configure CC=gcc CXX=g++ F77=gfortran FC=gfortran --enable-install-libpmix --with-libevent=/home/users/industry/ai-hpc/apacsc29/scratch/app/lib/event --with-ucx=/home/users/industry/ai-hpc/apacsc29/scratch/app/hpcx-v2.7.0-gcc-MLNX_OFED_LINUX-5.0-1.0.0.0-redhat6.10-x86_64/ucx --prefix=/home/users/industry/ai-hpc/apacsc29/scratch/app/openmpi-4.0.4-gcc-ucx ``` :::info ```shell= #%Module set TOP_DIR /home/users/industry/ai-hpc/apacsc29/scratch/app/openmpi-4.0.4-gcc-ucx prepend-path PATH ${TOP_DIR}/bin prepend-path LD_LIBRARY_PATH ${TOP_DIR}/lib prepend-path MANPATH ${TOP_DIR}/share/man prepend-path CPATH ${TOP_DIR}/include prepend-path LIBRARY_PATH ${TOP_DIR}/lib ``` >vim /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/openmpi/4.0.4-ucx-gcc ::: ### openmpi(v4.0.4) build with icc+ucx ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/app/openmpi-4.0.4 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/ucx/1.9.0 ./configure CC=icc CXX=icpc F77=ifort FC=ifort --prefix=/home/users/industry/ai-hpc/apacsc29/scratch/app/openmpi-4.0.4-ucx-icc --with-ucx=/home/users/industry/ai-hpc/apacsc29/scratch/app/ucx1.9.0 --enable-install-libpmix --with-libevent=/home/users/industry/ai-hpc/apacsc29/scratch/app/lib/event ``` :::info ```shell= #%Module set TOP_DIR /home/users/industry/ai-hpc/apacsc29/scratch/app/openmpi-4.0.4-ucx-icc prepend-path PATH ${TOP_DIR}/bin prepend-path LD_LIBRARY_PATH ${TOP_DIR}/lib prepend-path MANPATH ${TOP_DIR}/share/man prepend-path CPATH ${TOP_DIR}/include prepend-path LIBRARY_PATH ${TOP_DIR}/lib ``` >vim /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/openmpi/4.0.4-ucx-icc ::: ### Tcl(v8.5.19) build with icc ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/app wget https://prdownloads.sourceforge.net/tcl/tcl8.5.19-src.tar.gz tar xvf tcl8.5.19-src.tar.gz cd tcl8.5.19-src source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 ./configure --prefix=/home/users/industry/ai-hpc/apacsc29/scratch/app/lib/tcl-icc --enable-single --disable-fortran CC=icc --enable-threads make -j24 make -j24 install ``` ### fftw3(v3.3.8) ```shell= wget http://www.fftw.org/fftw-3.3.8.tar.gz tar xvf fftw-3.3.8.tar.gz cd fftw-3.3.8 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 bash -c ' CODE_NAME=fftw \ CODE_TAG=3.3.8 \ CODE_DIR=/home/users/industry/ai-hpc/apacsc29/scratch/NAMD/fftw-3.3.8 \ CMAKE_PATH=/home/users/industry/ai-hpc/apacsc29/scratch/app/cmake-icc/bin/cmake \ INSTALL_DIR=/home/users/industry/ai-hpc/apacsc29/scratch/NAMD/fftw-build-icc \ ICC_PATH=/home/users/industry/ai-hpc/apacsc29/app/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc ICC_FLAGS='"-xBROADWELL -axBROADWELL,CORE-AVX2,SSE4.2 -O3 -DNDEBUG"' \ ### To build shared library (single precision) with Intel C Compiler BUILD_LABEL=$CODE_TAG-shared-icc20-avx2-broadwell \ CMD_BUILD_SHARED_ICC=" \ mkdir -p /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/fftw-3.3.8/build-$BUILD_LABEL \ && cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/fftw-3.3.8/build-$BUILD_LABEL \ && $CMAKE_PATH .. \ -DBUILD_SHARED_LIBS=ON -DENABLE_FLOAT=ON \ -DENABLE_OPENMP=OFF -DENABLE_THREADS=OFF \ -DCMAKE_C_COMPILER=/scratch/users/industry/ai-hpc/apacsc29/app/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc -DCMAKE_CXX_COMPILER=/scratch/users/industry/ai-hpc/apacsc29/app/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icpc \ -DENABLE_AVX2=ON -DENABLE_AVX=ON \ -DENABLE_SSE2=ON -DENABLE_SSE=ON \ -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR/$BUILD_LABEL \ -DCMAKE_C_FLAGS_RELEASE=$ICC_FLAGS \ -DCMAKE_CXX_FLAGS_RELEASE=$ICC_FLAGS \ && time -p make VERBOSE=1 V=1 install \ && cd $INSTALL_DIR/$BUILD_LABEL && ln -s lib64 lib | tee $BUILD_LABEL.log " eval $CMD_BUILD_SHARED_ICC ; wait echo $CMD_BUILD_SHARED_ICC ; ' | tee fftw3buildlog 2>&1 ``` :::info ```shell= #%Module set FFTW_DIR /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/fftw-build-icc/3.3.8-shared-icc20-avx2-broadwell prepend-path CPLUS_INCLUDE_PATH $FFTW_DIR/include prepend-path LD_LIBRARY_PATH $FFTW_DIR/lib prepend-path LIBRARY_PATH $FFTW_DIR/lib ``` >vim /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/fftw-icc ::: ### charm(v6.10.2) build with icc ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD git clone https://github.com/UIUC-PPL/charm.git charm-openmpi-icc cd charm-openmpi-icc module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/cmake/3.18.2 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/openmpi/4.0.4-ucx-icc ./build charm++ mpi-linux-x86_64 --with-production --incdir=/home/users/industry/ai-hpc/apacsc29/scratch/app/openmpi-4.0.4-ucx-icc/include --libdir=/home/users/industry/ai-hpc/apacsc29/scratch/app/ucx1.9.0/lib icc ifort -O3 ``` ### charm(v6.10.2) build with icc+ucx ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD git clone https://github.com/UIUC-PPL/charm.git charm-ucx-icc cd charm-ucx-icc module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/cmake/3.18.2 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/openmpi/4.0.4-ucx-icc module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/ucx/1.9.0 ./build charm++ ucx-linux-x86_64 ompipmix --with-production --incdir=/home/users/industry/ai-hpc/apacsc29/scratch/app/openmpi-4.0.4-ucx-icc/include --incdir=/home/users/industry/ai-hpc/apacsc29/scratch/app/ucx1.9.0/include --libdir=/home/users/industry/ai-hpc/apacsc29/scratch/app/openmpi-4.0.4-ucx-icc/lib:/home/users/industry/ai-hpc/apacsc29/scratch/app/ucx1.9.0/lib icc ifort -O3 ``` Now we can build NAMD in NSCC. ## Build NAMD(v2.14) in NSCC ### Namd build with icc+openmpi+fftw3(without-memopt) ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD wget https://www.ks.uiuc.edu/Research/namd/2.14/download/946183/NAMD_2.14_Source.tar.gz tar xvf NAMD_2.14_Source.tar.gz cp -r NAMD_2.14_Source/ namd2.14-openmpi-icc cd namd2.14-openmpi-icc module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/openmpi/4.0.4-ucx-icc ./config Linux-x86_64-icc --charm-base /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/charm-openmpi-icc --charm-arch mpi-linux-x86_64-icc-ifort --with-mkl --mkl-prefix /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/mkl --cc /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc --cc-opts '-static-intel -axBROADWELL,CORE-AVX2,SSE4.2 -O3 -DNDEBUG' --cxx /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icpc --cxx-opts '-static-intel -axBROADWELL,CORE-AVX2,SSE4.2 -O3 -DNDEBUG' --tcl-prefix /home/users/industry/ai-hpc/apacsc29/scratch/app/lib/tcl-icc ``` ### Namd build with icc+openmpi+fftw3(with-memopt) ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD cp -r NAMD_2.14_Source/ namd2.14-openmpi-icc-memopt cd namd2.14-openmpi-icc-memopt module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/openmpi/4.0.4-ucx-icc ./config Linux-x86_64-icc --with-memopt --charm-base /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/charm-openmpi-icc --charm-arch mpi-linux-x86_64-icc-ifort --with-mkl --mkl-prefix /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/mkl --cc /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc --cc-opts '-static-intel -axBROADWELL,CORE-AVX2,SSE4.2 -O3 -DNDEBUG' --cxx /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icpc --cxx-opts '-static-intel -axBROADWELL,CORE-AVX2,SSE4.2 -O3 -DNDEBUG' --tcl-prefix /home/users/industry/ai-hpc/apacsc29/scratch/app/lib/tcl-icc ``` ### Namd build with icc+ucx+fftw3(with-memopt) ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD cp -r NAMD_2.14_Source/ namd2.14-openmpi-icc-ucx cd namd2.14-openmpi-icc-ucx module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/openmpi/4.0.4-ucx-icc module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/ucx/1.9.0 ./config Linux-x86_64-icc --with-memopt --charm-base /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/charm-ucx-icc --charm-arch ucx-linux-x86_64-ompipmix-icc-ifort --with-fftw3 --fftw-prefix /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/fftw-build-icc/3.3.8-shared-icc20-avx2-broadwell --cc /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc --cc-opts '-static-intel -axBROADWELL,CORE-AVX2,SSE4.2 -O3 -DNDEBUG' --cxx /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icpc --cxx-opts '-static-intel -axBROADWELL,CORE-AVX2,SSE4.2 -O3 -DNDEBUG' --tcl-prefix /home/users/industry/ai-hpc/apacsc29/scratch/app/lib/tcl-icc cd Linux-x86_64-icc make -j24 ``` We have built three kinds of NAMD. The first one NAMD is without memopt. It is used to run compress_210stmv.namd. and other kinds of NAMD is used to compare which one runs better. ## Run stmv benchmark ```shell= cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/stmv mkdir 210stmv2fs wget https://www.ks.uiuc.edu/Research/namd/utilities/stmv_sc14.tar.gz --no-check-certificate tar xvf stmv_sc14.tar.gz wget https://www.ks.uiuc.edu/Research/namd/utilities/stmv.tar.gz --no-check-certificate tar xvf stmv.tar.gz cd 210stmv2fs cp -r ../stmv/* . cp -r ../stmv_sc14/make_210tmv.pgn . cp -r ../stmv_sc14/210stmv2fs . /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/namd2.14-openmpi-icc/Linux-x86_64-icc/psfgen make_210stmv.pgn cp -r ../stmv_sc14/compress_210stmv.namd . module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/fftw-icc module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/openmpi/4.0.4-ucx-icc /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/namd2.14-openmpi-icc/Linux-x86_64-icc/charmrun --allow-run-as-root +p4 /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/namd2.14-openmpi-icc/Linux-x86_64-icc/namd2 compress_210stmv.namd ``` :::info ```shell= minAtomsPerPatch 1000 #ldBalancer hybrid ldBalancer none numinputprocs 24 numoutputprocs 50 numoutputwriters 24 ``` >vim /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/stmv/210stmv2fs/210stmv2fs.namd ::: I have changed some of the 210stmv2fs.namd adjustable parameters. And now we can run 210stmv2fs.namd with NAMD. ## PBS script ### run 210stmv2fs with NAMD build with icc+openmpi+fftw3 ```shell= #!/bin/bash #PBS -N namd-icc #PBS -q normal #PBS -l select=32:ncpus=24:mpiprocs=24:ompthreads=1:mem=96gb #PBS -l walltime=20:00 #PBS -P 50000043 #PBS -j oe #PBS -o result-openmpi-icc-32-24.txt cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/stmv/210stmv2fs node=32 ncpu=24 rm -f hostfile1 for (( i=1; i<=$node; i=i+1 )) do S[${i}]=`sed -n "$(($i*$ncpu))p" $PBS_NODEFILE` echo "${S[$i]} slots=$ncpu" >> hostfile1 done bash -c ' cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/stmv/210stmv2fs \ && module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 \ && source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 \ && module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/openmpi/4.0.4-ucx-gcc \ && /home/users/industry/ai-hpc/apacsc29/scratch/app/openmpi-4.0.4-gcc-ucx/bin/mpirun -x LD_LIBRARY_PATH --hostfile hostfile1 /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/namd2.14-openmpi-icc-memopt/Linux-x86_64-icc/namd2 /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/stmv/210stmv2fs/210stmv2fs.namd' ``` ### run 210stmv2fs with NAMD build with icc+ucx+fftw3 ```shell= #!/bin/bash #PBS -N namd-openmpi-ucx #PBS -q normal #PBS -l select=32:ncpus=24:mpiprocs=24:ompthreads=1:mem=96gb #PBS -l walltime=20:00 #PBS -P 50000043 #PBS -j oe #PBS -o result-openmpi-icc-32-24-ucx-24-50-24-flags.txt cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/stmv/210stmv2fs node=32 ncpu=24 rm -f hostfile1 for (( i=1; i<=$node; i=i+1 )) do S[${i}]=`sed -n "$(($i*$ncpu))p" $PBS_NODEFILE` echo "${S[$i]} slots=$ncpu" >> hostfile1 done bash -c ' cd /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/stmv/210stmv2fs \ && module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/gcc/8.4.0 \ && source /home/users/industry/ai-hpc/apacsc29/scratch/app/intel/compilers_and_libraries_2019.5.281/linux/bin/compilervars.sh --arch linux --platform intel64 \ && module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/ucx/1.9.0 \ && module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/fftw-icc \ && module load /home/users/industry/ai-hpc/apacsc29/scratch/modulefiles/openmpi/4.0.4-ucx-gcc \ && /home/users/industry/ai-hpc/apacsc29/scratch/app/openmpi-4.0.4-gcc-ucx/bin/mpirun -x UCX_NET_DEVICES=mlx5_0:1 -x LD_LIBRARY_PATH --hostfile hostfile1 /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/namd2.14-openmpi-icc-ucx/Linux-x86_64-icc/namd2 /home/users/industry/ai-hpc/apacsc29/scratch/NAMD/stmv/210stmv2fs/210stmv2fs.namd' ```