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} ]; thenmv ${NAME} lammps_erase

rm -rf lammps_erase &fitar 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/*; doln -s $f .
done
cd lib64
if [ -f liblammps_rccs.so ]; thenln -s liblammps_rccs.so liblammps.sofi
if [ -f liblammps_rccs.so.0 ]; thenln -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 パッケージの動作が若干怪しいケースがある