searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

HPC容器研究 - 使用Singularity容器运行Lammps

2023-06-15 03:29:34
99
0

Singularity容器简介

Singularity 旨在以简单、可移植和可重现的方式在 HPC 集群上运行复杂的应用程序。可以在笔记本电脑上使用 Singularity 构建容器,然后在大型 HPC 集群、本地大学或公司的HPC集群、单个服务器、云平台的虚拟机集群上运行。

Singularity容器的主要特点有:

  • Singularity容器的镜像文件是SIF(Singularity Image File)格式只读(read-only)文件
  • 没有daemon管理进程,不由 daemon 进程代为执行启动容器等指令
  • Singularity容器的用户权限、网络等均直接继承宿主机配置
  • 支持root用户和非root用户启动Singularity容器,且容器启动前后,用户上下文保持不变,容器内部和外部都是相同的用户

 

常用的Singularity镜像仓库有:

  • Sylabs Cloud

https://cloud.sylabs.io/library

如:singularity pull ubuntu.sif library://library/default/ubuntu:21.04

  • Docker Hub 是 Docker 的镜像云平台,singularity 程序会将 docker 格式转换为 singularity 使用的 .sif 格式

https://hub.docker.com/

如:singularity pull ubuntu.sif docker://ubuntu:latest

  • Singularity Hub

如:singularity pull singularity-images.sif shub://vsoch/singularity-images

  • 支持 ORAS 的 OCI 镜像云平台

如:singularity pull image.sif oras://registry/namespace/image:tag

安装Singularity组件

环境:ubuntu 20.04

1.安装依赖

# Ensure repositories are up-to-date

sudo apt-get update

# Install debian packages for dependencies

sudo apt-get install -y \

   build-essential \

   libseccomp-dev \

   pkg-config \

   squashfs-tools \

   cryptsetup

2.安装Go

export VERSION=1.17.2 OS=linux ARCH=amd64

wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz

sudo tar -C /usr/local -xzvf go$VERSION.$OS-$ARCH.tar.gz

rm go$VERSION.$OS-$ARCH.tar.gz

echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.bashrc

source ~/.bashrc

3.安装singularity

export VERSION=3.9.2

wget https://github.com/sylabs/singularity/releases/download/v${VERSION}/singularity-ce-${VERSION}.tar.gz

tar -xzf singularity-ce-${VERSION}.tar.gz

cd singularity-ce-${VERSION}

./mconfig

make -C builddir

sudo make -C builddir install

运行Lammps

1. 下载lammps镜像

sudo singularity pull --arch amd64 library://hpc/default/lammps:latest

2. 准备作业的数据文件

sudo mkdir /data

sudo vi in.lj

文件内容:

# 3d Lennard-Jones melt

 

units                lj

atom_style        atomic

 

lattice                fcc 0.8442

region                box block 0 80 0 80 0 80

create_box        1 box

create_atoms        1 box

mass                1 1.0

 

velocity        all create 1.44 87287 loop geom

 

pair_style        lj/cut 2.5

pair_coeff        1 1 1.0 1.0 2.5

 

neighbor        0.3 bin

neigh_modify    delay 5 every 1

 

fix                1 all nve

 

run                100

 

3. 运行lammps作业

sudo singularity exec --bind /data:/data library://hpc/default/lammps:latest mpirun -np 4 /lammps/lmp_intel_cpu_intelmpi -in /data/in.lj

参考文档

https://docs.sylabs.io/guides/3.7/user-guide/

https://blog.csdn.net/lovebaby1689/article/details/124255677

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

http://docs.hpc.whu.edu.cn/files/whuhpcdocs.wiki/sbatch/singularity.html

0条评论
0 / 1000
穿梭的阿俊
2文章数
0粉丝数
穿梭的阿俊
2 文章 | 0 粉丝