GENESIS 2.1.4
Webpage
https://www.r-ccs.riken.jp/labs/cbrt/
Version
2.1.4
Build Environment
- gcc 13.1.1 (gcc-toolset/13)
- MKL 2025.0.0.1 (oneAPI 2025.0.1)
- Intel MPI 2021.14.1 (oneAPI 2025.0.1)
Files Required
- genesis-2.1.4.tar.bz2
- tests-2.1.4.tar.bz2
Build Procedure
#!/bin/sh
VERSION=2.1.4
BASEDIR=/home/users/${USER}/Software/GENESIS/${VERSION}
SRC_TARBALL=${BASEDIR}/genesis-${VERSION}.tar.bz2
TESTS_TARBALL=${BASEDIR}/tests-${VERSION}.tar.bz2INSTALLDIR=/apl/genesis/2.1.4
WORKDIR=/gwork/users/${USER}
BUILDDIR=${WORKDIR}/genesis-${VERSION}
TESTSDIR=${WORKDIR}/tests-${VERSION}PARALLEL_TESTS=8
# ----------------------------------------------------------------------------
umask 0022
module -s purge
module -s load gcc-toolset/13
module -s load mkl/2025.0.0.1
module -s load intelmpi/2021.14.1export LANG=C
export LC_ALL=C
export OMP_NUM_THREADS=1
ulimit -s unlimitedcd ${WORKDIR}
if [ -d genesis-${VERSION} ]; then
mv genesis-${VERSION} genesis-erase
rm -rf genesis-erase &
fi
if [ -d tests-${VERSION} ]; then
mv tests-${VERSION} tests-erase
rm -rf tests-erase &
fitar jxf ${SRC_TARBALL}
tar jxf ${TESTS_TARBALL}
cd ${BUILDDIR}
FC=mpif90 CC=mpicc \
LAPACK_LIBS=" -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl" \
./configure --prefix=${INSTALLDIR}
make && make installATDYN=${INSTALLDIR}/bin/atdyn
SPDYN=${INSTALLDIR}/bin/spdyncd ${TESTSDIR}/regression_test
for f in test.py test_remd.py test_fep.py test_rpath.py \
test_vib.py test_gamd.py \
test_analysis/test_analysis.py \
test_spana/test_spana.py; do
sed -i -e "s/env python/env python3/" $f
done
# atdyn tests
./test.py "mpirun -np ${PARALLEL_TESTS} $ATDYN"
./test_remd.py "mpirun -np ${PARALLEL_TESTS} $ATDYN"
./test_rpath.py "mpirun -np ${PARALLEL_TESTS} $ATDYN"
./test_vib.py "mpirun -np ${PARALLEL_TESTS} $ATDYN"
./test_gamd.py "mpirun -np ${PARALLEL_TESTS} $ATDYN"
#./test_fep.py "mpirun -np ${PARALLEL_TESTS} $ATDYN" # spdyn only# spdyn tests
./test.py "mpirun -np ${PARALLEL_TESTS} $SPDYN"
./test_remd.py "mpirun -np ${PARALLEL_TESTS} $SPDYN"
./test_rpath.py "mpirun -np ${PARALLEL_TESTS} $SPDYN"
./test_gamd.py "mpirun -np ${PARALLEL_TESTS} $SPDYN"
./test_fep.py "mpirun -np ${PARALLEL_TESTS} $SPDYN"
cd test_analysis
./test_analysis.py ${INSTALLDIR}/bin
cd ../cd test_spana
# ad hoc
sed -i -e '/ref_fobj =/s/"r"/"r", encoding="utf-8"/' test_spana.py
sed -i -e '/out_fobj =/s/"r"/"r", encoding="utf-8"/' test_spana.py
./test_spana.py ${INSTALLDIR}/bin
cd ..
Notes
- In the uun benchmark, 2.1.4 (gcc13) shows better performance than 2.1.2 (gcc12).
- GCC version shows better performance than Intel Compiler as of the previous versions.
- For intel compiler, -march=core-avx2 is slightly better than -axCORE-AVX2