二、使用北极星环境的镜像--运行北极星程序-matlab-R-mpi编译器
北极星的运行的环境为centos:7.6.1810
1、搜索镜像;推荐在login06下载为内网:
运行:dockersearch bjx # 或者dockersearch centos
运行结构如下图:
其中login06:
docker://bjxdockerfast:5000/centos7.6_bjxenv_0:latest ##1G 左右,有北极星基本的库镜像,满足使用了,推荐下载
docker://bjxdockerfast:5000/centos7.6_bjxenv_all:latest ##7.5G 左右,有北极星所有yum安装库的镜像,在login06上下载
其他登陆节点根据提示:
docker://bjxdocker:5000/centos7.6_bjxenv_0:latest ##1G 左右,有北极星基本的库镜像,满足使用了,推荐下载
docker://bjxdocker:5000/centos7.6_bjxenv_all:latest ##7.5G 左右,有北极星所有yum安装库的镜像,在login06上下载
2、获取北极星基本镜像
创建进入目录,后面同
mkdir ~/lustre1/bjxdocker
cd ~/lustre1/bjxdocker
获取基本镜像login06
singularitybuild --sandbox centos7.6_bjxenv_0 docker://bjxdockerfast:5000/centos7.6_bjxenv_0
其他登陆节点为 docker://bjxdocker:5000/centos7.6_bjxenv_0:latest
centos7.6_bjxenv_0为沙盒的目录
3、测试运行matlab
singularityshell -B /appsnew,/apps -w centos7.6_bjxenv_0
-B选项,为挂载的目录, /appsnew;/apps为必须挂载的。
其他如果出现找不到大量库的时候运行这个:
singularityshell -B /appsnew,/apps,/lustre1,/lustre2,/gpfs1,/lustre3,/usr,/lib64,/etc,/sys -w centos7.6_bjxenv_0
其他/lustre1;/lustre2;/gpfs1;/lustre3可以按照分区挂载,登陆节点可以都挂载,如果在当前目录中运行无需挂载这些
-w 为可写
centos7.6_bjxenv_0为沙河的目录,
进入系统后,系统的/root目录是你所在用户的home目录
运行结果:箭头为挂载的文件系统
Apptainer> source /appsnew/source/matlab2021b-bjxserver.sh
Apptainer> matlab
4、运行matlab
可以将centos7.6_bjxenv_0打包sif文件运行,这里不推荐,打包后不能改sif里面的内容
#加入matlab配置文件到环境里
echo "source /appsnew/source/matlab2021b-bjxserver.sh">> centos7.6_bjxenv_0/environment
singularityexec -B /appsnew,/apps centos7.6_bjxenv_0 matlab
其中 ,/usr,/lib64,/etc,/sys为所在系统的路径,
其他如果出现找不到大量库的时候运行这个:
singularityexec -B /appsnew,/apps,/lustre1,/lustre2,/gpfs1,/lustre3,/usr,/lib64,/etc,/sys centos7.6_bjxenv_0 matlab
运行结果如下图:
4、运行R
同上
echo "source /appsnew/source/R-4.2.0.sh ">>centos7.6_bjxenv_0/environment
singularityexec -B /appsnew:/appsnew,/apps:/apps centos7.6_bjxenv_0 R
其他如果出现找不到大量库的时候运行这个:
singularityexec -B /appsnew,/apps,/lustre1,/lustre2,/gpfs1,/lustre3,/usr,/lib64,/etc,/sys centos7.6_bjxenv_0 R
5、mpi编译器,参考mpi-amber部分
6、使用完全环境,比较大7G左右 docker://bjxdockerfast:5000/centos7.6_bjxenv_all:latest:
singularitybuild --sandbox centos7.6_bjxenv_0 docker://bjxdockerfast:5000/centos7.6_bjxenv_all
出现以下错误:提示空间不够
#创建.apptainer的软链接
rm -r ~/.apptainer
#在比较空闲的文件系统创建你的.apptainer文件夹
mkdir /lustre2/gao_pkuhpc/.apptainer
ln -s /lustre2/gao_pkuhpc/.apptainer ~/.apptainer
北京大学王克桢楼147房间 chenfj-at-pku.edu.cn; liutao_working-at-126.com
010-62766656