NAMD 3.0b7 - SMP+CUDA (single node)
Webpage
http://www.ks.uiuc.edu/Research/namd/
Version
3.0b7
Build Environment
- GCC 8.5.0
- Intel MKL 2024.1
- CUDA 12.4 Update 1
Files Required
- NAMD_3.0b7_Source.tar.gz
- tcl and tcl-threaded are obtained from http://www.ks.uiuc.edu/Research/namd/libraries
- fftw of MKL is used
Build Procedure
#!/bin/sh
VERSION=3.0b7
CHARM_VERSION=7.0.0
WORKDIR=/gwork/users/${USER}
SOURCEDIR=/home/users/${USER}/Software/NAMD/${VERSION}
NAME=NAMD_${VERSION}_SourceTARBALL=${SOURCEDIR}/${NAME}.tar.gz
LIBURL=http://www.ks.uiuc.edu/Research/namd/libraries
TCL=tcl8.5.9-linux-x86_64
TCL_URL=${LIBURL}/${TCL}.tar.gz
TCL_THREADED=tcl8.5.9-linux-x86_64-threaded
TCL_THREADED_URL=${LIBURL}/${TCL_THREADED}.tar.gz
TARBALL_TCL=${SOURCEDIR}/${TCL}.tar.gz
TARBALL_TCL_THREADED=${SOURCEDIR}/${TCL_THREADED}.tar.gzPARALLEL=12
#------------------------------------------------------------------
umask 0022export LANG=""
export LC_ALL=C
module -s purge
module -s load mkl/2024.1
module -s load cuda/12.4u1cd ${WORKDIR}
if [ -d ${NAME} ]; then
mv ${NAME} namd_erase
rm -rf namd_erase &
fitar zxf ${TARBALL}
cd ${NAME}
tar xf charm-${CHARM_VERSION}.tar
cd charm-v${CHARM_VERSION}
export CC=gcc
export CXX=g++
export F90=gfortran
export F77=gfortran
./build charm++ multicore-linux-x86_64 gcc \
--no-build-shared --with-production -j${PARALLEL}
cd ../
tar zxf ${TARBALL_TCL}
mv ${TCL} tcl
tar zxf ${TARBALL_TCL_THREADED}
mv ${TCL_THREADED} tcl-threaded
./config Linux-x86_64-g++ \
--charm-arch multicore-linux-x86_64-gcc \
--with-mkl \
--with-python \
--with-single-node-cuda
cd Linux-x86_64-g++make -j${PARALLEL}
make release
# install contents of Linux-x86_64-g++/NAMD_3.0b7_Linux-x86_64-multicore-CUDA.tar.gz into /apl/namd/3.0b7-smp-cuda
Notes
- Failed to build with gcc11, 12, and 13 (syntax error).
- This is probably due to the implementation of new features and bug fixes.
- Gcc10 can build the executable without problem. However, the performance of GPU runs is slightly worse than gcc8 version.
- (For the performance of CPU part, gcc10 version is better than gcc8 one.)
- The overall performance is comparable or very slightly worse than the previous build (3.0b6).