Lammps计算软件

发布者:张运动发布时间:2026-01-21浏览次数:10

一、配置准备:

1.       配置说明

本次安装采用的方式为编译安装,源码包及其版本分别为lammps-src-22Jul2025_update1,下载地址分别如下:

https://github.com/lammps/lammps/releases/download/stable_22Jul2025_update1/lammps-src-22Jul2025_update1.tar.gz

本次安装使用到的部分工具为额外包。编译安装存在依赖关系,除手动下载各组件,亦可指定使用已有的组件。部分组件下载链接如下:

https://github.com/Kitware/CMake/releases/download/v3.31.9/cmake-3.31.9-linux-x86_64.tar.gz
https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.0.tar.gz

https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-14.3.0/gcc-14.3.0.tar.gz

 

https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.gz

https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.2.tar.gz

https://ftp.gnu.org/gnu/mpc/mpc-1.3.0.tar.gz

https://developer.nvidia.com/cuda-12-8-1-download-archive

https://codeload.github.com/ornladios/ADIOS2/tar.gz/refs/tags/v2.10.2

https://github.com/HDFGroup/hdf5/releases/download/hdf5_1.14.6/hdf5-1.14.6.tar.gz

https://www.fftw.org/fftw-3.3.10.tar.gz

2.       配置准备

a)       对于LAMMPS

本次安装LAMMPS使用的编译链分为启用GPUCUDAOMPI-GCC-CUDA与不启用的OMPI-GCC-CPU,其依赖或工具及其版本为:

        CMake-3.31.9

        OMPI-4.1.0

        GCC-14.3.0

        CUDA-12.8

        ADIOS2-2.10.2

                -- HDF5-1.14.6

        FFTW-3.3.10

其中,HDF5-1.14.6为并行版,其为ADIOS2-2.10.2的依赖。

a)       CMake安装

官方提供了CMake的二进制包,将其下载并解压至<cmake_install_prefix>路径即可。

b)       OMPI编译与安装

OMPI的编译安装方式较为标准。

tar -zxf openmpi-4.1.0.tar.gz

cd openmpi-4.1.0

./configure --prefix=<openmpi_install_prefix>

make

make install

c)       GCC编译与安装

GCC有多个依赖组件,此处安装的GCC 14.3.0对组件及其版本依赖为:

GMP  5

MPFR ≥ 4.1.0 

MPC ≥ 0.8.0

GCC支持将依赖源码与GCC一起构建的方式进行安装,即将依赖组件源码放入GCC源码中,可实现对库的自动识别核构建,文件树示意如下:

gcc-14.3.0/

├── configure

├── Makefile.in

├── gmp/

├── mpfr/

├── mpc/

└──…./

注意:

之后再通过命令进行编译安装:

../gcc-14.3.0/configure \

  --prefix=<gcc_install_prefix> \

  --enable-languages=c,c++,fortran \

  --disable-multilib \

  --disable-bootstrap

make -j$(nproc)

make install

其部分参数解释如下:

        --enable-languages=c,c++,fortran           # 启用gfortran

        --enable-multilib                                      # 禁用32位编译器和库的生成

        --disable-bootstrap                                   # 跳过GCC自检机制

d)       CUDA安装

NVIDIA官方提供了各版本CUDArun文件,通过选择对应参数即可进行下载,运行即可以简单的终端图形界面进行交互操作。可使用--help或是官方链接查看各个详细安装选项:

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/#meta-packages

此处安装使用的命令如下,不触发交互模式静默安装,仅安装CUDA Toolkit

bash cuda_12.8.1_570.124.06_linux.run --silent --toolkit --toolkitpath=<cuda_install_prefix> --samplespath=<cuda_install_prefix>/samples --no-man-page

e)       HDF5ADIOS2编译与安装

Ÿ   有关ADIOS2https://github.com/ornladios/ADIOS2

HDF5的并行是通过使用选项实现的,通过--enable-parallel开启MPI-IO,并使用CCCXXFC指定上述安装的编译器:

./configure \

  --prefix=<hdf5_install_prefix> \

  --enable-parallel \

  --enable-shared \

  CC=<openmpi_install_prefix>/bin/mpicc \

  CXX=<openmpi_install_prefix>/bin/mpicxx \

  FC=<openmpi_install_prefix>/bin/mpifort

make -j$(nproc)

make install

同理,ADIOS2的并行也是通过选项实现使用-DADIOS2_USE_HDF5=ON启用支持,在编译前为cmake配置环境变量即可:

        export PATH=<cmake_install_prefix>/bin:$PATH

cmake /tmp/ADIOS2-2.10.2 \

  -D CMAKE_INSTALL_PREFIX=<adios2_install_prefix> \

  -D CMAKE_C_COMPILER=<gcc_install_prefix>/bin/gcc \

  -D CMAKE_CXX_COMPILER=<gcc_install_prefix>/bin/g++ \

  -D CMAKE_Fortran_COMPILER=<gcc_install_prefix>/bin/gfortran \

  -D MPI_C_COMPILER=<openmpi_install_prefix>/bin/mpicc \

  -D MPI_CXX_COMPILER=<openmpi_install_prefix>/bin/mpicxx \

  -D MPI_Fortran_COMPILER=<openmpi_install_prefix>/bin/mpifort \

  -D ADIOS2_USE_HDF5=ON \

  -D ADIOS2_USE_MPI=ON \

  -D ADIOS2_USE_ZeroMQ=OFF \

  -D HDF5_ROOT=<hdf5_install_prefix> \

  -D CMAKE_BUILD_TYPE=Release \

  -D CMAKE_INSTALL_RPATH_USE_LINK_PATH=ON

make -j$(nproc)

make install

附:ADIOS2所有选项说明如下:

https://adios2.readthedocs.io/en/v2.10.2/setting_up/setting_up.html

f)        FFTW编译与安装

FFTW可以编译单精度或者双精度两种类型库,在编译安装了一种类型后,通过修改选项的方式可以重新将另一精度库补充到安装目录。

./configure \

  --prefix=<fftw_install_prefix> \

  --enable-shared \

  --enable-threads \

  --enable-openmp \

  CC=<gcc_install_prefix>/bin/gcc

make -j$(nproc)

make install

若需要额外编译单精度版,只需添加选项--enable-float即可。


二、应用安装

注:在应用编译时通常需要使用到cmake,故可以将cmake添加到环境变量中:

        export PATH=<cmake_install_prefix>/bin:$PATH

此外,在编译阶段通过直接指定绝对路径的方式选择依赖或工具,通常不再需要额外配置环境变量,但是在运行工具时需要补充相对应的环境变量,例如:

export LD_LIBRARY_PATH=\

<gcc_install_prefix>/lib64:

<openmpi_install_prefix>/lib:

<fftw_install_prefix>/lib:

<adios2_install_prefix>/lib64:

<cuda_install_prefix>/lib64:

$LD_LIBRARY_PATH

亦或者以模块方式加载这些依赖或工具。

1.       LAMMPS

本次LAMMPS的编译安装分为两种:带有CUDA加速的版本(CUDA)和不带的版本(CPU),二者的区别在于是否通过选项开启GPUCUDA的相关支持,或者是否使用预设中的gpu-cuda.cmake文件:

-D PKG_GPU=ON -D GPU_API=cuda \

-D CUDAToolkit_ROOT=<cuda_install_prefix> -D BIN2C=<cuda_install_prefix>/bin/bin2c

GPU版本为例,其使用的cmake构建命令如下:

cmake -C ../cmake/presets/gpu-cuda.cmake ../cmake \

-D CMAKE_C_COMPILER=<gcc_install_prefix>/bin/gcc \

-D CMAKE_CXX_COMPILER=<gcc_install_prefix>/bin/g++ \

-D MPI_C_COMPILER=<openmpi_install_prefix>/bin/mpicc \

-D MPI_CXX_COMPILER=<openmpi_install_prefix>/bin/mpicxx \

-D CMAKE_INSTALL_PREFIX=<lammps_cpu_install_prefix> \

-D FFT=FFTW3 -D FFTW3_ROOT=<fftw_install_prefix> \

-D PKG_ADIOS2=ON -D ADIOS2_DIR=<adios2_install_prefix>/lib64/cmake/adios2 \

-D BUILD_MPI=ON -D BUILD_OMP=ON \

-D PKG_GPU=ON -D GPU_API=cuda \

-D CUDAToolkit_ROOT=<cuda_install_prefix> -D BIN2C=<cuda_install_prefix>/bin/bin2c

LAMMPS会自动下载所需mesocnt文件,若其下载速度过慢,亦可复制LAMMPS提示的下载链接手动下载,然后将其导入至lammps-22Jul2025/potentials/目录下重新进行cmake构建。

在构建完成后进行编译安装即可:

        make -j$(nproc)

        make install

附:ADIOS2所有选项说明如下:

https://docs.lammps.org/Build_package.html