LAMMPS 安装
LAMMPS 安装
介绍
编译条件
- 兼容 C++11 标准的编译器
- 并行计算库(MPICH 或 OpenMPI 或其他 MPI 实现)
- FFT 傅里叶变换库(FFTW)
- 若平台中若无 MPI 环境,可使用
make mpi-stubs
或安装stubs
package,编译过程中,将提供一个虚拟的 MPI 库,“欺骗” 需要 MPI 环境的包,使其正常编译 - 若没有安装 FFTW,LAMMPS 将会使用自带的 KISS
编译步骤:
- 安装 packages:
make
使用make yes-<package>
;CMake
使用-D PKG_<NAME>=on
- Build LAMMPS
- 安装 packages:
所有可用的 packages 及其描述:6.1. Available Packages — LAMMPS documentation
packages 细节:6.2. Package details — LAMMPS documentation
个人常用 packages
1 | manybody # 多体势(金属体系常用) |
- 参考资料:
- 安装LAMMPS - lammps-tutorial
- Lammps installation - Jia-Xin Zhu
- Linux系统源码编译安装LAMMPS - 我是谁
- 用 Intel® 加速 LAMMPS - Jinzhe Zeng’s Blog
- Linux 软件安装⑥|LAMMPS - Jinzhe Zeng’s Blog
- LAMMPS 所有版本:LAMMPS Source Download Repository
- GitHub - njzjz/lammps-wheel: LAMMPS unofficial Python wheels on PyPi, `pip install lammps`
- OpenMPI 编译:4.1. Quick start: Installing Open MPI — Open MPI 5.0.x documentation
- Build GPU package:3.7. Packages with extra build options — LAMMPS documentation
CMake 编译
适用于较新版本的 LAMMPS
思源一号用 oneapi.cmake 编译选项,其中的 MPI 是 MPI STUBS,而非 intel 的 MPI(2024.03.16)
编译步骤精简
1 | # 导入 Intel oneAPI 套件;Master 可不用 |
1 | # 编译配置命令: cmake -D PKG_MANYBODY=yes -C ../cmake/presets/oneapi.cmake ../cmake |
- cmake 相关命令及内容
1 | ll cmake/presets # 列出预设 cmake 文件(自行选择安装 package) |
- 配置好后,查看输出到屏幕的
-- <<< Build configuration >>>
编译配置进行检验,示例:
1 | -- <<< Build configuration >>> |
make 编译
- 编译步骤精简
1 | # 导入 Intel oneAPI 套件;Master 可不用 |
- make 相关命令及内容
1 | cd src # 进入 src 目录 |
检查
编译好后,输入
lmp -h
,检查以下内容- OS(同一平台,不会变)
- Compiler(这个会有差异,如 Intel Classic C++、Intel LLVM C++、GNU C++)
- C++ standard(C++ 11,不会变)
- MPI(这个会有差异,如 Intel (R) MPI Library、LAMMPS MPI STUBS)
- Accelerator configuration(内容一般为空?)
- FFT information(这个会有差异,KISS、MKL)
- Installed packages
- 各种 style options(根据安装的 packages 特性或额外命令,其 options 数目会有不同)
若没有安装任何 packages,最后编译得到的 lmp 可执行程序,查看可用 style options(如下所示),会相对较少
1 | List of individual style options included in this LAMMPS executable |
MC2 LAMMPS 版本编译
LAMMPS 版本:22Aug2018
gibbs_multireplica.ccp 和 gibbs_multireplica.h 需要用到 LAPACK,使用
make intel_cpu
命令,由于 master、超算无 libjpeg 库,因此需修改/注释 Makefile.intel_cpu(文件路径:MAKE/OPTION
) 中的 jpeg 相关选项(共 4 处)
1 | wget https://download.lammps.org/tars/lammps-22Aug2018.tar.gz |
1 | # 检查是否已安装 libjpeg |
相关报错
make mpi
编译报错:对dgelsd_
(LAPACK 里的东西) 未定义的引用;改用make intel_cpu
1 | /usr/bin/ld: gibbs_multireplica.o: in function `LAMMPS_NS::GibbsMultiReplica::inverse(double*, double*, double*, double)': |
- 没有 libjpeg 库:修改/注释 Makefile.intel_cpu 中的 JPEG 相关选项(共 4 处)
1 | ../image.cpp(32): catastrophic error: cannot open source file "jpeglib.h" |
1 | ld: cannot find -ljpeg: No such file or directory |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Seek Another Land!