LAMMPS 22Jul2025
ウェブページ
バージョン
22Jul2025
ビルド環境
- GCC 10.3.1 (gcc-toolset-10)
- Intel MPI 2021.16
- GSL 2.8
- OpenBLAS 0.3.29
ビルドに必要なファイル
- lammps-stable_22Jul2025.tar.gz
- n2p2-2.2.0.tar.gz
- (一部ファイルは以下スクリプト中で取得)
ビルド手順
n2p2-2.2.0 (抜粋)
$ module -s purge
$ module -s load gcc-toolset/10
$ module -s load intelmpi/2021.16
$ module -s load gsl/2.8
$ cd /apl/lammps/2025-Jul22
$ tar xf n2p2-2.2.0.tar.gz
$ cd n2p2-2.2.0/src
$ make INTERFACES=LAMMPS COMP=gnu PROJECT_CC=g++ PROJECT_MPICC=mpicxx PROJECT_CFLAGS="-O3 -march=native -std=c++11 -fPIC" APP_CORE=nnp-convert APP_TRAIN=nnp-train APP=nnp-convert -j8
- LAMMPS の方で自動ビルドがうまくいかず、cmake 関連のファイルを編集してもうまくいかなかったため、手動でインストール
- 29Aug2024 時と同様の手順
lammps
#!/bin/sh
VERSION=2025-Jul22
NAME=lammps-stable_22Jul2025
INSTALL_PREFIX=/apl/lammps/${VERSION}BASEDIR=/home/users/${USER}/Software/LAMMPS/${VERSION}
LAMMPS_TARBALL=${BASEDIR}/${NAME}.tar.gzWORKDIR=/gwork/users/${USER}
LAMMPS_WORKDIR=${WORKDIR}/${NAME}FFMPEG_BIN=/apl/ffmpeg/6.1/bin/ffmpeg
VMD_MOLFILE_INC=/home/users/${USER}/Software/VMD/1.9.4/vmd-1.9.4a57/plugins/include
GSL_ROOT=/apl/gsl/2.8
N2P2_ROOT=${INSTALL_PREFIX}/n2p2-2.2.0
PARALLEL=12#------------------------------------------------------------------
umask 0022
export LANG=C
ulimit -s unlimitedmodule -s purge
module -s load gcc-toolset/10
module -s load intelmpi/2021.16
module -s load gsl/2.8
#module -s load mkl/2023.2.0
module -s load openblas/0.3.29-lp64PYTHONEXE=/usr/bin/python3.6m
PYTHONINC=/usr/include/python3.6m
cd ${WORKDIR}
if [ -d ${NAME} ]; then
mv ${NAME} lammps_erase
rm -rf lammps_erase &
fitar zxf ${LAMMPS_TARBALL}
cd ${NAME}
# for FFT_SINGLE=on
sed -i -e '26i#include "force.h"' unittest/force-styles/test_fix_timestep.cpp
sed -i -e '29i#include "kspace.h"' unittest/force-styles/test_pair_style.cpp
# pass python exe path to MDI cmake
sed -i -e "59i\ -DPython_EXECUTABLE=${PYTHONEXE}" cmake/Modules/Packages/MDI.cmake
mkdir build && cd build
# Disabled PKGs:
# ADIOS, VTK: noavail
# KIM: to avoid unfavorable dependence to libkim-api.so.2
# ML-IAP: compilation error
# INTEL: not necessary for gcc build
cmake ../cmake \
-DLAMMPS_MACHINE=rccs \
-DENABLE_TESTING=on \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DCMAKE_Fortran_COMPILER=mpif90 \
-DCMAKE_C_FLAGS_RELEASE="-O3 -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG" \
-DCMAKE_Fortran_FLAGS_RELEASE="-O3 -DNDEBUG" \
-DPython_EXECUTABLE=${PYTHONEXE} \
-DPython_INCLUDE_DIR=${PYTHONINC} \
-DGSL_ROOT_DIR=${GSL_ROOT} \
-DBUILD_SHARED_LIBS=on \
-DBUILD_TOOLS=on \
-DBUILD_MPI=on \
-DBUILD_OMP=on \
-DBUILD_LAMMPS_GUI=on \
-DBUILD_WHAM=on \
-DFFT=FFTW3 \
-DFFT_SINGLE=on \
-DFFT_FFTW_THREADS=on \
-DWITH_JPEG=on \
-DWITH_PNG=on \
-DWITH_GZIP=on \
-DWITH_FFMPEG=on \
-DFFMPEG_EXECUTABLE=${FFMPEG_BIN} \
-DPKG_ADIOS=off \
-DPKG_AMOEBA=on \
-DPKG_APIP=on \
-DPKG_ASPHERE=on \
-DPKG_ATC=on \
-DPKG_AWPMD=on \
-DPKG_BOCS=on \
-DPKG_BODY=on \
-DPKG_BPM=on \
-DPKG_BROWNIAN=on \
-DPKG_CG-DNA=on \
-DPKG_CG-SPICA=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_ELECTRODE=on \
-DPKG_EXTRA-COMMAND=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=off \
-DPKG_INTERLAYER=on \
-DPKG_KIM=off \
-DDOWNLOAD_KIM=off \
-DPKG_KOKKOS=on \
-DKokkos_ARCH_ZEN3=on \
-DKokkos_ENABLE_OPENMP=on \
-DFFT_KOKKOS=FFTW3 \
-DPKG_KSPACE=on \
-DPKG_LATBOLTZ=on \
-DPKG_LEPTON=on \
-DPKG_MACHDYN=on \
-DDOWNLOAD_EIGEN3=on \
-DPKG_MANIFOLD=on \
-DPKG_MANYBODY=on \
-DPKG_MC=on \
-DPKG_MDI=on \
-DDOWNLOAD_MDI=on \
-DPKG_MEAM=on \
-DPKG_MESONT=on \
-DPKG_MGPT=on \
-DPKG_MISC=on \
-DPKG_ML-HDNNP=on \
-DDOWNLOAD_N2P2=off \
-DN2P2_DIR=${N2P2_ROOT} \
-DPKG_ML-IAP=off \
-DPKG_ML-PACE=on \
-DPKG_ML-POD=on \
-DPKG_ML-QUIP=on \
-DDOWNLOAD_QUIP=on \
-DPKG_ML-RANN=on \
-DPKG_ML-SNAP=on \
-DPKG_ML-UF3=on \
-DPKG_MOFFF=on \
-DPKG_MOLECULE=on \
-DPKG_MOLFILE=on \
-DMOLFILE_INCLUDE_DIR=${VMD_MOLFILE_INC} \
-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=on \
-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_RHEO=on \
-DPKG_RIGID=on \
-DPKG_SCAFACOS=on \
-DDOWNLOAD_SCAFACOS=on \
-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=on \
-DPKG_VTK=off \
-DPKG_YAFF=on \
-DBLA_VENDOR=OpenBLAS \
-DBLA_PREFER_PKGCONFIG=on \
-DCMAKE_BUILD_TYPE=Release#make -j ${PARALLEL}
make VERBOSE=1 -j ${PARALLEL}export OMP_NUM_THREADS=2
make test
make install
cp -a ../examples ${INSTALL_PREFIX}cd ${INSTALL_PREFIX}
for f in etc/profile.d/*; do
if [ -f $f ]; then
ln -s $f .
fi
donecd 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
有効なパッケージ
AMOEBA APIP ASPHERE ATC AWPMD BOCS BODY BPM BROWNIAN CG-DNA CG-SPICA CLASS2
COLLOID COLVARS COMPRESS CORESHELL DIELECTRIC DIFFRACTION DIPOLE DPD-BASIC
DPD-MESO DPD-REACT DPD-SMOOTH DRUDE EFF ELECTRODE EXTRA-COMMAND EXTRA-COMPUTE
EXTRA-DUMP EXTRA-FIX EXTRA-MOLECULE EXTRA-PAIR FEP GRANULAR H5MD INTERLAYER
KOKKOS KSPACE LATBOLTZ LEPTON MACHDYN MANIFOLD MANYBODY MC MDI MEAM MESONT
MGPT MISC ML-HDNNP ML-PACE ML-POD ML-QUIP ML-RANN ML-SNAP ML-UF3 MOFFF
MOLECULE MOLFILE NETCDF OPENMP OPT ORIENT PERI PHONON PLUGIN PLUMED POEMS PTM
PYTHON QEQ QMMM QTB REACTION REAXFF REPLICA RHEO RIGID SCAFACOS SHOCK SMTBQ
SPH SPIN SRD TALLY UEF VORONOI YAFF
テスト結果
lammps の以下のテストに失敗しています。ログのコピーは /apl/lammps/2025-Jul22/Testing 以下にあります。
- 38:SimpleCommands => Quit が失敗。
- 54:LibraryProperties => memory_usage のテストに失敗
- meminfo[1] を参照して失敗しているが、本来は meminfo[2] など他のものを見るべきかもしれない?
- 72:FortranProperties => 54:LibraryProperties と同じエラー
以下のインプットに lattice が含まれるテストは大きなエラー。
- AtomicPairStyle:
- buck_coul_cut_qeq_point, buck_coul_cut_qeq_shielded, edip, lepton_sphere, lj_cut_sphere, lj_expand_sphere, meam_sw_spline, pedone, reaxff-acks2, reaxff-acks2_efield, reaxff-qtpie, reaxff, reaxff_lgvdw, reaxff_noqeq, reaxff_tabulate, reaxff_tabulate_flag
- KSpaceStyle:
- scafacos_direct, scafacos_ewald, scafacos_fmm, scafacos_fmm_tuned, scafacos_p2nfft
以下は軽微な数値エラー。
- 333:ManybodyPairStyle:ilp-graphene-hbn
- 334:ManybodyPairStyle:ilp-graphene-hbn_notaper
- 435:KSpaceStyle:pppm_ad
- 436:KSpaceStyle:pppm_cg
- 437:KSpaceStyle:pppm_cg_ad
- 438:KSpaceStyle:pppm_cg_tiled
- 455:KSpaceStyle:pppm_tip4p
- 592:DihedralStyle:quadratic
- 594:DihedralStyle:table_cut_linear
- 596:DihedralStyle:table_linear
メモ
- ADIOS, VTK は未検証。INTEL は GCC 版では不要なため除外。
- 今回は GUI も有効にしています。
- KIM を有効にすると実行時に libkim-api.so.2 への依存が発生するため回避。
- ML-IAP はコンパイル時にエラーが発生するため回避。
- FFT_SINGLE を有効にすると unittest のビルドに失敗する(force-styles の test_fix_timestep.cpp, test_pair_style.cpp)。
- それぞれヘッダーを1つ追加してビルドしている。(手順中の sed 文)
- MDI の python 指定は cmake のファイルを編集して強制的に指定。
- cmake 中で n2p2 をダウンロードさせるとビルドに失敗する。原因は特定できていない。
- $(shell ...) あたりの記述の問題かもしれない。
- gcc13, gcc14 よりも少しだけ gcc10 の方が速度が出たため gcc10 を採用。in.rhodo のテスト(replicate 2 2 2)で比較。