이제 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 |