LAMMPS构建与功能边界
构建名、GPU后缀、命令入口与实际依赖的区别,以及可执行的模块查询。
阅读本篇目录
这份导航使用鸢算科技集群LAMMPS30Sep2026的P100 GPU与KOKKOS模块帮助,以及已有公开输入和成功原生运行记录。它保留了完整样式名称、构建范围和可参考的案例入口。
mkdir style-guide
cd style-guide
curl -fL https://yuansuan.top/assets/downloads/full-function/lammps-style-index-wave85-cba0ef4fb4f0.zip -o examples.zip
unzip examples.zip
module purge
module load ase/3.29.0
索引工具处理现有文本和数据,不启动分子动力学。可直接查询已附的analysis/styles.json,也可重建索引:
python rebuild_index.py
python find_style.py pod
python plot_index.py
重建会刷新这份解压副本中的analysis目录和reference/figures;案例的原生输入、轨迹和参数仍从对应教程资料包获取。
1 GPU与KOKKOS是构建标签#
清单中的GPU表示 lammps/30Sep2026-p100-gpu 基础构建包含该名称;KOKKOS表示 lammps/30Sep2026-p100-kokkos 包含它。基础名称出现在GPU构建中,不表示该计算自动在GPU执行。
| 名称形式 | 阅读方法 |
|---|---|
| 基础样式,例如lj/cut | 还要看启动参数、后缀分派及原生日志中的实际实现 |
| /gpu | GPU包的相应实现;本基础构建使用mixed精度 |
| /kk | KOKKOS的相应实现;本构建为double精度 |
| /omp | OpenMP线程实现,按所分配CPU核数设置线程 |
模型精度与程序性能分开阅读:CPU/P100单点一致性不等于任何体系都能得到同样加速比。当前清单来自上述P100模块;换其他模块或GPU架构时,读取对应帮助并使用该模块已给出的具体案例。
2 在自己的模块中查看#
在已分配的计算资源里:
module purge
module load lammps/30Sep2026-p100-gpu
lmp -h > module-help.txt
sed -n '/Installed packages:/,/Lists of individual/p' module-help.txt
帮助清单按构建导出。附件styles-GPU.txt与styles-KOKKOS.txt保存了用于本索引的包/样式部分;用相同名称的两份清单即可重建检索数据。
python find_style.py pair lj/cut/gpu
python find_style.py pair pod/kk
python find_style.py command geturl
3 识别入口与实际依赖不同#
包内check_module.in使用已知注册入口与feature查询,输入如下:
print "FEATURE curl $(is_available(feature,curl):%.0f)"
print "COMMANDSTYLE geturl $(is_available(command,geturl):%.0f)"
print "COMMANDSTYLE kim_init $(is_available(command,kim_init):%.0f)"
print "PAIRSTYLE lj/cut $(is_available(pair,lj/cut):%.0f)"
print "COMPUTESTYLE fep $(is_available(compute,fep):%.0f)"
print "MINSTYLE spin/lbfgs $(is_available(minimize,spin/lbfgs):%.0f)"
在已分配的计算资源中执行:
module purge
module load lammps/30Sep2026-p100-gpu
lmp -in check_module.in
这只查询模块功能,没有创建原子或运行模拟。两个基础构建的实测均返回:
FEATURE curl 0
COMMANDSTYLE geturl 1
COMMANDSTYLE kim_init 1
PAIRSTYLE lj/cut 1
COMPUTESTYLE fep 1
MINSTYLE spin/lbfgs 1
geturl样式入口存在,但curl功能为0,因此这个模块不能直接用内置geturl下载。可以在提交前用终端curl准备文件,再把本地文件路径交给输入脚本。
kim_init是命令分派内部样式名;官方输入使用 kim init 等子命令语法。入口存在与KIM API、所选模型已经安装是不同条件。
4 五类命令的环境要求#
以下针对这两个P100基础构建,其他专用模块应按各自帮助与教程读取。
| 功能 | 需要的环境条件 | 当前操作建议 |
|---|---|---|
| geturl内置下载 | EXTRA-COMMAND及libcurl编译支持 | 当前curl功能未启用,提交前用外部curl准备文件 |
| kim模型接口 | KIM包、KIM API与所选模型 | 基础构建未包含KIM包,先明确模型和匹配环境 |
| mdi程序耦合 | MDI包、MDI库及相互兼容的driver/engine | 基础构建未包含MDI包,按耦合方案选择专用环境 |
| python内嵌命令 | PYTHON包和匹配的嵌入式Python | 基础构建未包含PYTHON包;ASE数据后处理使用独立Python环境 |
| fenix进程恢复 | FENIX包、Fenix库与相容恢复/MPI环境 | 基础构建未包含FENIX包,使用前明确恢复环境和专用构建 |
这五项保留在官方通用命令导航中,但不标为已有成功计算示例。Python读取CSV、ASE处理结构与LAMMPS内部python命令各有环境入口,不能混淆。
5 114条命令与54条Command样式的口径#
114来自官方通用命令索引;54是当前帮助里Command样式这一类的名称数。部分内核入口不按同一表列出,部分内部子命令又有独立样式名,因此不要用54代替全部输入命令数。
本组教程已有109条通用命令的成功参考,环境条件与具体支持边界仍应逐项读取。查操作从 通用命令参考 开始,查样式从 样式与实例导航 开始。