NAMD 3.0.2 - SMP+CUDA (single node)
ウェブページ
http://www.ks.uiuc.edu/Research/namd/
バージョン
3.0.2
ビルド環境
- GCC 13.3.1
- Intel MKL 2025.3
- CUDA 12.9 Update 1
ビルドに必要なファイル
- NAMD_3.0.2_Source.tar.gz
- tcl, tcl-threaded は http://www.ks.uiuc.edu/Research/namd/libraries より取得
- fftw については MKL を利用
ビルド手順
#!/bin/sh
set -e#==================================================================
# USER CONFIGURATION SECTION
#==================================================================
# NAMD version settings
VERSION=${NAMD_VERSION:-3.0.2}
CHARM_VERSION=${CHARM_VERSION:-8.0.0}# Directory settings
WORKDIR=${NAMD_WORKDIR:-/gwork/users/${USER}}
SOURCEDIR=${NAMD_SOURCEDIR:-/home/users/${USER}/Software/namd/${VERSION}}# TCL library settings
TCL_VERSION=${TCL_VERSION:-8.6.13}
TCL_THREADED_VERSION=${TCL_THREADED_VERSION:-8.6.17}# Build settings
PARALLEL=${NAMD_PARALLEL:-12}
ARCH=${NAMD_ARCH:-Linux-x86_64-g++}
CHARM_ARCH=${CHARM_ARCH:-multicore-linux-x86_64-gcc}
CHARM_COMPILER=${CHARM_COMPILER:-gcc}# Module settings
GCC_MODULE=${GCC_MODULE:-gcc-toolset/13}
MKL_MODULE=${MKL_MODULE:-mkl/2025.3}
CUDA_MODULE=${CUDA_MODULE:-cuda/12.9u1}# Python settings
PYTHON_PREFIX=${PYTHON_PREFIX:-/usr}# CUDA settings
ENABLE_CUDA=${ENABLE_CUDA:-yes}NAME=NAMD_${VERSION}_Source
TARBALL=${SOURCEDIR}/${NAME}.tar.gz
LIBURL=http://www.ks.uiuc.edu/Research/namd/libraries
TCL=tcl${TCL_VERSION}-linux-x86_64
TCL_URL=${LIBURL}/${TCL}.tar.gz
TCL_THREADED=tcl${TCL_THREADED_VERSION}-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.gz#------------------------------------------------------------------
umask 0022
export LANG=""
export LC_ALL=C# Load modules
module -s purge
module -s load ${GCC_MODULE}
module -s load ${MKL_MODULE}
module -s load ${CUDA_MODULE}# Prepare build directory
cd ${WORKDIR}
if [ -d ${NAME} ]; then
mv ${NAME} namd_erase
rm -rf namd_erase &
fi# Extract NAMD
tar zxf ${TARBALL}
cd ${NAME}# Build Charm++ (SMP version with CUDA support)
tar xf charm-${CHARM_VERSION}.tar
cd charm-${CHARM_VERSION}export CC=gcc
export CXX=g++
export F90=gfortran
export F77=gfortran./build charm++ multicore-linux-x86_64 ${CHARM_COMPILER} \
--no-build-shared --with-production -j${PARALLEL}# Extract TCL libraries
cd ../
tar zxf ${TARBALL_TCL}
mv ${TCL} tcl
tar zxf ${TARBALL_TCL_THREADED}
mv ${TCL_THREADED} tcl-threaded# Configure and build NAMD with CUDA
CUDA_FLAG=""
if [ "${ENABLE_CUDA}" = "yes" ]; then
CUDA_FLAG="--with-single-node-cuda"
fi./config ${ARCH} \
--charm-arch ${CHARM_ARCH} \
--with-mkl \
--with-python \
${CUDA_FLAG} \
--python-prefix ${PYTHON_PREFIX}cd ${ARCH}
make -j${PARALLEL}
make release