开发者
基于spack工具自动化部署Lammps应用

基于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文件内容

本页内容