You are here

Amber16-bf15 for LX

Webpage

http://ambermd.org/

Version

Amber16+bugfix15
AmberTools17+bugfix10

Build Environment

  • Intel Compiler 17.0.4.196
  • Intel MKL 2017 update 3
  • Intel MPI 2017.0.3
  • CUDA 8.0.61
  • Python 2.7
  • gcc 4.8.5

Files Required

  • Amber16.tar.bz2
  • AmberTools17.tar.bz2
  • (some files will be downloaded in the script below)

Build Procedure

#!/bin/sh

VERSION=16
TOOLSVERSION=17

INSTALL_DIR="/local/apl/lx/amber${VERSION}-bf15"
TARBALL_DIR="/home/users/${USER}"

export AMBERHOME=${INSTALL_DIR}
# cuda 8.0
export CUDA_HOME="/local/apl/lx/cuda-8.0"

PARALLEL=12

#----------------------------------------------------------------------

# install directory has to be prepared before running this script
if [ ! -d $AMBERHOME ]; then
  echo "Create $AMBERHOME before running this script."
  exit 1
fi

# the install directory must be empty
if [ "$(ls -A $AMBERHOME)" ]; then
  echo "Target directory $AMBERHOME not empty"
  exit 2
fi

ulimit -s unlimited

# prep files
cd $AMBERHOME
bunzip2 -c ${TARBALL_DIR}/Amber${VERSION}.tar.bz2 | tar xf -
bunzip2 -c ${TARBALL_DIR}/AmberTools${TOOLSVERSION}.tar.bz2 | tar xf -

mv amber${VERSION}/* .
rmdir amber${VERSION}

module purge
module load cuda/8.0
module load intel_parallelstudio/2017update4

export LANG=C

# apply patches if exists
./update_amber --update
# configure python separately (miniconda)
AmberTools/src/configure_python

echo "[GPU serial edition (three versions)]"
./configure --no-updates -cuda gnu
sed -i -e "/CU_LIBS/s/lib64/lib64 -L\$(CUDA_HOME)\/lib64\/stubs/" AmberTools/src/config.h
sed -i -e "/CUDALIB=/s/lib64/lib64 -L\$(CUDA_HOME)\/lib64\/stubs/" AmberTools/src/quick/Makefile
sed -i -e "/LDFLAGS=/s/lib64/lib64 -L\$(CUDA_HOME)\/lib64\/stubs/" AmberTools/src/cpptraj/config.h
make -j${PARALLEL} install && make clean

echo "[GPU parallel edition (three versions)]"
./configure --no-updates -mpi -cuda gnu
sed -i -e "/CU_LIBS/s/lib64/lib64 -L\$(CUDA_HOME)\/lib64\/stubs/" AmberTools/src/config.h
sed -i -e "/CUDALIB=/s/lib64/lib64 -L\$(CUDA_HOME)\/lib64\/stubs/" AmberTools/src/quick/Makefile
sed -i -e "/LDFLAGS=/s/lib64/lib64 -L\$(CUDA_HOME)\/lib64\/stubs/" AmberTools/src/cpptraj/config.h
make -j${PARALLEL} install && make clean
# tests of GPU versions will be done elsewhere

echo "[CPU serial edition]"
./configure --no-updates -mkl intel
make -j${PARALLEL} install
. ${AMBERHOME}/amber.sh
make test.serial
make clean

echo "[CPU openmp edition]"
./configure --no-updates -openmp -mkl intel
make -j${PARALLEL} install
make test.openmp
make clean

echo "[CPU parallel edition]"
./configure --no-updates -intelmpi -mkl intel
make -j${PARALLEL} install
export DO_PARALLEL="mpirun -np 2"
make test.parallel
export DO_PARALLEL="mpirun -np 4"
cd test && make test.parallel.4proc

cd $AMBERHOME
make clean && chmod 700 src

Notices

  • Files are installed under /local/apl/lx/amber16-bf15 directory.
  • Sample job submission scripts are available in samples/.
  • Environment setting scripts (amber.sh, amber.csh) locate in /local/apl/lx/amber18-bf1.
  • Test logs are available in /local/apl/lx/amber16-bf15/logs/.
    • Tests for gpu versions were done at ccca node, all the other tests were performed on one of the frontend nodes (ccfep).