LAMMPS 23Jun22 (Intel MPI)

ウェブページ

https://www.lammps.org

バージョン

23Jun22 Update 2

ビルド環境

  • Intel oneAPI Compiler Classic 2023.1.0
  • Intel MKL 2023.1.0
  • Intel MPI 2021.9.0

ビルドに必要なファイル

  • lammps-stable.tar.gz
  • (一部ファイルは以下スクリプト中で取得)

ビルド手順

#!/bin/sh

VERSION=23Jun22
NAME=lammps-23Jun2022
INSTALL_PREFIX=/apl/lammps/2022-Jun23-impi

BASEDIR=/home/users/${USER}/Software/LAMMPS/${VERSION}
LAMMPS_TARBALL=${BASEDIR}/lammps-stable.tar.gz

WORKDIR=/gwork/users/${USER}
LAMMPS_WORKDIR=${WORKDIR}/${NAME}

VMD_MOLFILE_INC=/home/users/${USER}/Software/VMD/1.9.4/vmd-1.9.4a57/plugins/include

PARALLEL=12

#------------------------------------------------------------------
umask 0022
export LANG=C
ulimit -s unlimited

# load intel env (2023.1.0)
. ~/intel/oneapi/compiler/latest/env/vars.sh

module -s purge
module -s load intelmpi/2021.9.0
module -s load mkl/2023.1.0

export CC=mpiicc
export CXX=mpiicpc
export FC=mpiifort
export MPICC=mpiicc
export MPICXX=mpiicpc
export MPIFC=mpiifort

PYTHONEXE=/usr/bin/python3.6m
PYTHONINC=/usr/include/python3.6m

cd ${WORKDIR}
if [ -d ${NAME} ]; then
  mv ${NAME} lammps_erase
  rm -rf lammps_erase &
fi

tar zxf ${LAMMPS_TARBALL}

cd ${NAME}
sed -i -e "s/xHost/march=core-avx2/" cmake/CMakeLists.txt
mkdir build && cd build

# Disabled PKGs:
# FFMPEG, ADIOS, MDI, VTK: noavail
# MSCG: gsl too old
# MESSAGE: ZeroMQ support not enabled
# QUIP: failed to build
# ML-HDNNP: failed to build
# ML-IAP: failed to build
# KIM: CDDL is imcompatible with GPL
# LATTE: technical problem of cmake? (LAPACK and BLAS)
# MPIIO: not maintained?

cmake ../cmake \
  -DLAMMPS_MACHINE=rccs \
  -DENABLE_TESTING=on \
  -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
  -DCMAKE_C_COMPILER=mpiicc \
  -DCMAKE_CXX_COMPILER=mpiicpc \
  -DCMAKE_Fortran_COMPILER=mpiifort \
  -DCMAKE_MPI_C_COMPILER=mpiicc \
  -DCMAKE_MPI_CXX_COMPILER=mpiicpc \
  -DCMAKE_MPI_Fortran_COMPILER=mpiifort \
  -DPython_EXECUTABLE=${PYTHONEXE} \
  -DPython_INCLUDE_DIR=${PYTHONINC} \
  -DLAMMPS_EXCEPTIONS=on \
  -DBUILD_SHARED_LIBS=on \
  -DBUILD_TOOLS=on \
  -DBUILD_MPI=on \
  -DBUILD_OMP=on \
  -DFFT=MKL \
  -DFFT_SINGLE=on \
  -DFFT_MKL_THREADS=on \
  -DWITH_JPEG=yes \
  -DWITH_PNG=yes \
  -DWITH_GZIP=yes \
  -DPKG_ASPHERE=on \
  -DPKG_ATC=on \
  -DPKG_AWPMD=on \
  -DPKG_BOCS=on \
  -DPKG_BODY=on \
  -DPKG_BROWNIAN=on \
  -DPKG_CG-DNA=on \
  -DPKG_CG-SDK=on \
  -DPKG_CLASS2=on \
  -DPKG_COLLOID=on \
  -DPKG_COLVARS=on \
  -DPKG_COMPRESS=on \
  -DPKG_CORESHELL=on \
  -DPKG_DIELECTRIC=on \
  -DPKG_DIFFRACTION=on \
  -DPKG_DIPOLE=on \
  -DPKG_DPD-BASIC=on \
  -DPKG_DPD-MESO=on \
  -DPKG_DPD-REACT=on \
  -DPKG_DPD-SMOOTH=on \
  -DPKG_DRUDE=on \
  -DPKG_EFF=on \
  -DPKG_EXTRA-COMPUTE=on \
  -DPKG_EXTRA-DUMP=on \
  -DPKG_EXTRA-FIX=on \
  -DPKG_EXTRA-MOLECULE=on \
  -DPKG_EXTRA-PAIR=on \
  -DPKG_FEP=on \
  -DPKG_GPU=off \
  -DPKG_GRANULAR=on \
  -DPKG_H5MD=on \
  -DPKG_INTEL=on \
  -DPKG_INTERLAYER=on \
  -DPKG_KIM=off \
  -DDOWNLOAD_KIM=no \
  -DPKG_KOKKOS=on \
  -DKokkos_ARCH_ZEN3=yes \
  -DKokkos_ENABLE_OPENMP=yes \
  -DPKG_KSPACE=on \
  -DPKG_LATBOLTZ=on \
  -DPKG_MACHDYN=on \
  -DDOWNLOAD_EIGEN3=on \
  -DPKG_MANIFOLD=on \
  -DPKG_MANYBODY=on \
  -DPKG_MC=on \
  -DPKG_MDI=off \
  -DPKG_MEAM=on \
  -DPKG_MESONT=on \
  -DPKG_MESSAGE=on \
  -DPKG_MGPT=on \
  -DPKG_MISC=on \
  -DPKG_ML-HDNNP=off \
  -DDOWNLOAD_N2P2=no \
  -DPKG_ML-IAP=off \
  -DPKG_ML-PACE=on \
  -DPKG_ML-QUIP=off \
  -DDOWNLOAD_QUIP=no \
  -DPKG_ML-RANN=on \
  -DPKG_ML-SNAP=on \
  -DPKG_MOFFF=on \
  -DPKG_MOLECULE=on \
  -DPKG_MOLFILE=on \
  -DMOLFILE_INCLUDE_DIR=${VMD_MOLFILE_INC} \
  -DPKG_MPIIO=off \
  -DPKG_MSCG=off \
  -DPKG_NETCDF=on \
  -DPKG_OPENMP=on \
  -DPKG_OPT=on \
  -DPKG_ORIENT=on \
  -DPKG_PERI=on \
  -DPKG_PHONON=on \
  -DPKG_PLUGIN=on \
  -DPKG_PLUMED=on \
  -DDOWNLOAD_PLUMED=yes \
  -DPKG_POEMS=on \
  -DPKG_PTM=on \
  -DPKG_PYTHON=on \
  -DPKG_QEQ=on \
  -DPKG_QMMM=on \
  -DPKG_QTB=on \
  -DPKG_REACTION=on \
  -DPKG_REAXFF=on \
  -DPKG_REPLICA=on \
  -DPKG_RIGID=on \
  -DPKG_SCAFACOS=on \
  -DDOWNLOAD_SCAFACOS=yes \
  -DPKG_SHOCK=on \
  -DPKG_SMTBQ=on \
  -DPKG_SPH=on \
  -DPKG_SPIN=on \
  -DPKG_SRD=on \
  -DPKG_TALLY=on \
  -DPKG_UEF=on \
  -DPKG_VORONOI=on \
  -DDOWNLOAD_VORO=yes \
  -DPKG_VTK=off \
  -DPKG_YAFF=on \
  -DBLAS_LIBRARIES="-qmkl" \
  -DCMAKE_BUILD_TYPE=Release

make VERBOSE=1 -j ${PARALLEL}

export OMP_NUM_THREADS=2

make test # will put error...
make install

cp -a ../examples ${INSTALL_PREFIX}

cd ${INSTALL_PREFIX}
for f in etc/profile.d/*; do
  ln -s $f .
done

cd lib64
if [ -f liblammps_rccs.so ]; then
  ln -s liblammps_rccs.so liblammps.so
fi
if [ -f liblammps_rccs.so.0 ]; then
  ln -s liblammps_rccs.so.0 liblammps.so.0
fi

テスト結果

失敗したテスト

The following tests FAILED:
         11 - AtomStyles (Failed)
         35 - SimpleCommands (SEGFAULT)
         38 - Regions (Subprocess aborted)
         43 - ComputeGlobal (Failed)
         95 - MolPairStyle:coul_diel (Failed)
        101 - MolPairStyle:coul_shield (Failed)
        103 - MolPairStyle:coul_slater_long (Failed)
        138 - MolPairStyle:lj_class2_soft (Failed)
        153 - MolPairStyle:lj_cut_soft (Failed)
        159 - MolPairStyle:lj_expand_coul_long (Failed)
        172 - MolPairStyle:lj_sdk_coul_long (Failed)
        173 - MolPairStyle:lj_sdk_coul_table (Failed)
        177 - MolPairStyle:lj_switch3_coulgauss_long (Failed)
        201 - MolPairStyle:tip4p_long_soft (Failed)
        204 - MolPairStyle:wf_cut (Failed)
        212 - AtomicPairStyle:buck_coul_cut_qeq_point (Failed)
        213 - AtomicPairStyle:buck_coul_cut_qeq_shielded (Failed)
        230 - AtomicPairStyle:edip (Failed)
        237 - AtomicPairStyle:meam (Failed)
        238 - AtomicPairStyle:meam_spline (Failed)
        239 - AtomicPairStyle:meam_sw_spline (Failed)
        242 - AtomicPairStyle:reaxff-acks2 (Failed)
        243 - AtomicPairStyle:reaxff-acks2_efield (Failed)
        244 - AtomicPairStyle:reaxff (Failed)
        245 - AtomicPairStyle:reaxff_lgvdw (Failed)
        246 - AtomicPairStyle:reaxff_noqeq (Failed)
        247 - AtomicPairStyle:reaxff_tabulate (Failed)
        248 - AtomicPairStyle:reaxff_tabulate_flag (Failed)
        265 - ManybodyPairStyle:comb (Failed)
        273 - ManybodyPairStyle:ilp-graphene-hbn (Failed)
        274 - ManybodyPairStyle:ilp-graphene-hbn_notaper (Failed)
        278 - ManybodyPairStyle:lcbop (Failed)
        287 - ManybodyPairStyle:pace_product (Failed)
        288 - ManybodyPairStyle:pace_recursive (Failed)
        300 - ManybodyPairStyle:tersoff (Failed)
        305 - ManybodyPairStyle:tersoff_shift (Failed)
        315 - BondStyle:gaussian (Failed)
        358 - KSpaceStyle:ewald_tri (Failed)
        360 - KSpaceStyle:pppm_ad (Failed)
        361 - KSpaceStyle:pppm_cg (Failed)
        363 - KSpaceStyle:pppm_cg_tiled (Failed)
        370 - KSpaceStyle:pppm_disp_tip4p (Failed)
        378 - KSpaceStyle:pppm_tip4p (Failed)
        383 - KSpaceStyle:scafacos_direct (Failed)
        384 - KSpaceStyle:scafacos_ewald (Failed)
        385 - KSpaceStyle:scafacos_fmm (Failed)
        386 - KSpaceStyle:scafacos_fmm_tuned (Failed)
        387 - KSpaceStyle:scafacos_p2nfft (Failed)
        388 - FixTimestep:adapt_coul (Failed)
        391 - FixTimestep:addforce_const (Failed)
        393 - FixTimestep:addtorque_const (Failed)
        412 - FixTimestep:nph (Failed)
        413 - FixTimestep:nph_sphere (Failed)
        415 - FixTimestep:npt_iso (Failed)
        416 - FixTimestep:npt_sphere_aniso (Failed)
        417 - FixTimestep:npt_sphere_iso (Failed)
        441 - FixTimestep:rigid_npt_small (Failed)
        455 - FixTimestep:smd_couple (Failed)
        463 - FixTimestep:temp_csld (Failed)
        484 - DihedralStyle:table_cut_linear (Failed)
        486 - DihedralStyle:table_linear (Failed)
        487 - DihedralStyle:table_spline (Failed)
        497 - ImproperStyle:inversion_harmonic (Failed)

メモ

  • python 3.6 を利用。python 3.9 の時と異なり、netcdf は有効にできるようになったが、ML-IAP が有効化できなくなっている。
  • openmpi の時は lj 系で非常に遅くなるケースがあったが、こちらのバージョンではそれは解消している。
    • 問題がある時は timing の出力で Comm や Other などが大半の時間を占めるようになる(Comm の時間が Pair の 10 倍以上)
    • intel mpi を使っているが、intel パッケージの動作が若干怪しいケースがある