본문 바로가기

LAMMPS

LAMMPS IntelOneAPI build (2025.5.14)

이제 LAMMPS의 소스코드를 다운 받는다.

git clone https://github.com/lammps/lammps.git

 

:~/Downloads/lammps$ mkdir build
:~/Downloads/lammps$ cd build
:~/Downloads/lammps/build$

 

 

source /opt/intel/oneapi/setvars.sh

 

$ which icx
/opt/intel/oneapi/compiler/2025.1/bin/icx

$ which icpx
/opt/intel/oneapi/compiler/2025.1/bin/icpx

$ which ifx
/opt/intel/oneapi/compiler/2025.1/bin/ifx

 

cmake ../cmake \
   -G Ninja \
   -D BUILD_MPI=yes \
   -D BUILD_OMP=yes \
   -DCMAKE_C_COMPILER=icx \
   -DCMAKE_CXX_COMPILER=icpx \
   -DCMAKE_Fortran_COMPILER=ifx \
   -D CMAKE_C_FLAGS="-O3 -march=native -fp-model fast=2 -fno-exceptions -ffast-math -funroll-loops -fstrict-aliasing" \
   -D CMAKE_CXX_FLAGS="-O3 -march=native -fp-model fast=2 -fno-exceptions -ffast-math -funroll-loops -fstrict-aliasing" \
   -D CMAKE_Fortran_FLAGS="-O3 -march=native -fp-model fast=2 -fno-exceptions -ffast-math -funroll-loops -fstrict-aliasing" \
   -D LAMMPS_MEMALIGN=64 \
   -D PKG_INTEL=yes \
   -D PKG_OPENMP=yes \
   -D PKG_GRANULAR=yes \
   -D PKG_RIGID=yes \
   -D PKG_MOLECULE=yes \
   -D PKG_PYTHON=yes \
   -D PKG_VTK=yes \
   -D PKG_EXTRA-FIX=yes \
   -D VTK_DIR=/usr/local/lib/cmake/vtk-9.4 \
   -D Python_EXECUTABLE=/usr/bin/python3 \
   -D INTEL_ARCH=cpu \
   -D INTEL_LRT_MODE=threads \
   -D BUILD_SHARED_LIBS=yes \
   -D CMAKE_INSTALL_PREFIX=$HOME/LAMMPS_IntelOneAPI/Opt_1 \
   -D CMAKE_INSTALL_RPATH="$HOME/LAMMPS_IntelOneAPI/Opt_1/lib"

 

Alternative Optimization Options

cmake ../cmake \
   -G Ninja \
   -D BUILD_MPI=yes \
   -D BUILD_OMP=yes \
   -DCMAKE_C_COMPILER=icx \
   -DCMAKE_CXX_COMPILER=icpx \
   -DCMAKE_Fortran_COMPILER=ifx \
   -DCMAKE_C_FLAGS="-O3 -xCORE-AVX512 -fp-model fast -fno-exceptions -funroll-loops -fstrict-aliasing -qopt-report=5 -qopt-report-phase=vec,loop -flto" \
   -DCMAKE_CXX_FLAGS="-O3 -xCORE-AVX512 -fp-model fast -fno-exceptions -funroll-loops -fstrict-aliasing -qopt-report=5 -qopt-report-phase=vec,loop -flto" \
   -DCMAKE_Fortran_FLAGS="-O3 -xCORE-AVX512 -fp-model fast -funroll-loops -fstrict-aliasing -qopt-report=5 -qopt-report-phase=vec,loop -flto" \
   -D LAMMPS_MEMALIGN=64 \
   -D PKG_INTEL=yes \
   -D PKG_OPENMP=yes \
   -D PKG_GRANULAR=yes \
   -D PKG_RIGID=yes \
   -D PKG_MOLECULE=yes \
   -D PKG_PYTHON=yes \
   -D PKG_VTK=yes \
   -D PKG_EXTRA-FIX=yes \
   -D VTK_DIR=/usr/local/lib/cmake/vtk-9.4 \
   -D Python_EXECUTABLE=/usr/bin/python3 \
   -D INTEL_ARCH=cpu \
   -D INTEL_LRT_MODE=threads \
   -D BUILD_SHARED_LIBS=yes \
   -D CMAKE_INSTALL_PREFIX=$HOME/LAMMPS_IntelOneAPI \
   -D CMAKE_INSTALL_RPATH="$HOME/LAMMPS_IntelOneAPI/lib"

 

Haswell (옜날 2017년 이전 Scalable 하지 않은 CPU는)

  -DCMAKE_C_FLAGS="-O3 -xCORE-AVX2 -fp-model fast -fno-exceptions -funroll-loops -fstrict-aliasing -qopt-report=5 -qopt-report-phase=vec,loop -flto" \
  -DCMAKE_CXX_FLAGS="-O3 -xCORE-AVX2 -fp-model fast -fno-exceptions -funroll-loops -fstrict-aliasing -qopt-report=5 -qopt-report-phase=vec,loop -flto" \
  -DCMAKE_Fortran_FLAGS="-O3 -xCORE-AVX2 -fp-model fast -funroll-loops -fstrict-aliasing -qopt-report=5 -qopt-report-phase=vec,loop -flto" \

 

 

ninja -j 10
sudo ninja install

 

파이썬 설치

sudo apt install python3.12-venv

python3 -m venv ~/my_lammps_venv
source ~/my_lammps_venv/bin/activate

ninja install-python

 

파이썬 가상환경에서 설치해야 할 것

pip install mpi4py

 

패스 잡아주기 (bashrc)

export PATH="$HOME/LAMMPS_IntelOneAPI/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/LAMMPS_IntelOneAPI/lib:$LD_LIBRARY_PATH"

 

'LAMMPS' 카테고리의 다른 글

MPI+OMP in AOCC  (0) 2025.04.14
IntelOneAPI command line options for NUMA  (0) 2025.04.03
AOCC, AOCL Cmake (optional)  (0) 2025.03.03
IntelOneAPI 환경에서 실행  (0) 2025.02.27
Domain decomposition VTK convert  (0) 2025.02.24