基于spack工具自动化部署Lammps应用
发表于 2026/04/24
0
作者|刘谦
spack介绍
spack 是一款软件包管理工具,旨在支持在各种平台和环境下运行多种软件版本和配置。它专为大型超级计算中心而设计,在这些中心,众多用户和应用团队在架构独特的集群上共享相同的软件安装,并使用不具备标准 ABI 的库。Spack 采用非破坏性设计:安装新版本不会破坏现有安装,因此同一系统上可以共存多种配置。最重要的是,Spack 非常“简单”。它提供了一种简洁的“规范”语法,用户可以清晰地指定版本和配置选项。Spack 对包作者来说也很方便:包文件完全用 Python 编写,规范允许包作者维护一个文件来管理同一包的多个不同构建版本。
准备工作
(1)基础依赖安装
yum install file bzip2 ca-certificates g++ gcc gfortran git gzip patch python3 tar unzip xz zstd(2)下载spack
git clone --depth=2 https://github.com/spack/spack.git(3)初始化spack环境
. spack/share/spack/setup-env.sh支持的应用
可通过命令查看支持的应用列表,根据需要指定应用进行安装
spack list
安装过程(以Lammps为例)
(1)安装Lammps,安装过程对应的依赖若缺失则自动检测进行安装
spack install lammps@20260211 %gcc ^openmpi
(2)安装完成后可通过命令查看依赖等信息
spack find -d lammps
功能测试
(1)加载Lammps环境变量
spack load lammps@20260211
(2)加载openmpi
spack load openmpi
(3)运行算例
进入算例路径下运行:
mpirun --allow-run-as-root -np $(nproc) lmp -in in.spce-bulk-nvt
(4)运行结果
运行完成后可以在算例路径下看到结果文件log.lammps,至此已完成lammps的应用安装和测试

log.lammps文件内容



