diff --git a/container/README.md b/container/README.md index f89613302e11e5337ea54880b84000c193788b00..0f7141ba2ac669268b59f469a3d59a7d3a2960f7 100644 --- a/container/README.md +++ b/container/README.md @@ -38,7 +38,7 @@ Singularity拥有容器技术所包含的大多数优势,例如启动迅速、 - 阿里云使用宿主模式和容器模式对singularity进行了测评,结果显示性能损失<2%,而且对GPU的支持也很好。 -### 5.六脉神剑-六步跑通一个HPC容器 +### 5.五步跑通一个HPC容器 5.1 下载HPCRunner包解压之后初始化 @@ -46,26 +46,20 @@ Singularity拥有容器技术所包含的大多数优势,例如启动迅速、 source ./init.sh ``` -5.2 拷贝容器配置 +5.2 安装singularity ``` -cp ./templates/singularity/singularity.config ./ -./jarvis -use singularity.config +./jarvis -install go/1.18 gcc +./jarvis -install singularity/3.9.6 gcc ``` -5.3 安装singularity容器 - -``` -./jarvis -d -dp -b -r -``` - -5.4 生成QE容器包 +5.3 生成QE容器包 ``` cd container && singularity build openeuler-kgcc9-openmpi4-qe-6.4.sif openeuler-kgcc9-openmpi4-qe-6.4.def ``` -5.5 安装和容器同版本的MPI库 +5.4 安装和容器同版本的MPI库 ``` cp ./templates/qe/6.4/data.qe.container.config ./ @@ -73,11 +67,11 @@ cp ./templates/qe/6.4/data.qe.container.config ./ ./jarvis -d -dp ``` -5.6 运行容器(-np 后面的数字为核数,请按实际核数指定) +5.5 运行容器(-np 后面的数字为核数,请按实际核数指定) ``` cd container mpirun --allow-run-as-root -x OMP_NUM_THREADS=1 -np 96 singularity exec openeuler-kgcc9-openmpi4-qe-6.4.sif /hpcrunner/q-e-qe-6.4.1/bin pw.x -input /hpcrunner/workloads/QE/qe-test/test_3.in ``` -### 欢迎贡献更多的容器! +### 欢迎贡献更多的HPC容器! diff --git a/package/go/1.18/install.sh b/package/go/1.18/install.sh index a99b4445a9aaf2fb511cce903155b6ab367392e8..fa986d29d425c11d6223eb8c162eb56cfec5daf9 100755 --- a/package/go/1.18/install.sh +++ b/package/go/1.18/install.sh @@ -3,5 +3,9 @@ set -x set -e cd ${JARVIS_TMP} +if [ ! -f "go1.18.linux-arm64.tar.gz" ]; then +wget https://go.dev/dl/go1.18.linux-arm64.tar.gz +fi rm -rf /usr/local/go -tar -xzvf ${JARVIS_DOWNLOAD}/go1.18.linux-arm64.tar.gz -C /usr/local +tar -xzvf go1.18.linux-arm64.tar.gz -C /usr/local +export PATH=/usr/local/go/bin:$PATH diff --git a/package/singularity/3.9.6/install.sh b/package/singularity/3.9.6/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..bb51f010091b0e4fd46e48e47edfbc7a1a2e11ee --- /dev/null +++ b/package/singularity/3.9.6/install.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -x +set -e +cd ${JARVIS_TMP} +export PATH=/usr/local/go/bin:$PATH +sudo yum install -y libseccomp-devel squashfs-tools cryptsetup +if [ ! -f "singularity-ce-3.9.6.tar.gz" ]; then +wget https://github.com/sylabs/singularity/releases/download/v3.9.6/singularity-ce-3.9.6.tar.gz +fi +rm -rf singularity-ce-3.9.6 +tar -xzvf singularity-ce-3.9.6.tar.gz +cd singularity-ce-3.9.6 +./mconfig +make -C builddir +sudo make -C builddir install \ No newline at end of file diff --git a/templates/singularity/singularity.config b/templates/singularity/singularity.config deleted file mode 100644 index 3155b47bf1015b13c95225869813a32b2685d0b2..0000000000000000000000000000000000000000 --- a/templates/singularity/singularity.config +++ /dev/null @@ -1,38 +0,0 @@ -[SERVER] -11.11.11.11 - -[DOWNLOAD] -go/1.18 https://go.dev/dl/go1.18.linux-arm64.tar.gz -singrarity/3.9.6 https://github.com/sylabs/singularity/archive/refs/tags/v3.9.6.tar.gz singrarity-3.9.6.tar.gz - -[DEPENDENCY] -set -x -set -e -# Install RPM packages for dependencies -sudo yum install -y libseccomp-devel squashfs-tools cryptsetup -./jarvis -install go/1.18 gcc -export PATH=/usr/local/go/bin:$PATH -# Install singrarity from https://github.com/sylabs/singularity.git -tar -xzvf ${JARVIS_DOWNLOAD}/singrarity-3.9.6.tar.gz - -[ENV] -export PATH=/usr/local/go/bin:$PATH - -[APP] -app_name = singularity -build_dir = ./singularity-3.9.6/ -binary_dir = -case_dir = - -[BUILD] -./mconfig -make -C builddir -sudo make -C builddir install - -[CLEAN] -make clean - -[RUN] -run = -binary = singularity version -nodes = 1 \ No newline at end of file