联想Lico+singularity容器制作+anaconda3安装教程
最近在使⽤联想Lico框架下的⾼性能计算平台
学校以后要扩建这个平台,现在就7个P4和两个P100
未来有更多显卡会加⼊(⼿动微笑)
这个平台不像⾃⼰电脑那样有可视化界⾯
为了⽅便管理和兼容不同环境下的训练需求
采⽤容器的⽅式规避不同框架和需求的包之间的冲突
⽬前Lico只⽀持singularity 2版本制作的镜像
这篇博⽂是⽤来引导如何安装使⽤singularity 2版本来制作私有镜像
singularity的github地址:
若直接安装ver 3 直接按照⾥⾯的教程即可
要安装⽼版本的话,⼊⼝有点隐晦
同样放上ver2的地址:
偷懒不想点链接的朋友可以看这⾥,我以Ubuntu16.04下安装2.5版本为例:
1. singularity安装
git clone github/sylabs/singularity.git
cd singularity
git fetch --all
git checkout 2.5.0
./autogen.sh
./configure --prefix=/usr/local
make
sudo make install
每个命令单独执⾏,执⾏过程中要确保每⼀步都成功才能进⾏下⼀步
特别是configure这⼀步,容易出现依赖包问题中断,
由于没有红字提醒,很容易忽视导致接下来⽆法make
期间还有其他的坑,欢迎讨论
当执⾏完上⾯的所有命令之后可以使⽤以下命令查看是否安装成功:
singularity --version
⽹上其他singularity的教程过⽼,github项⽬已经修改,不到sh⽂件了,根据原来的⽅案⽆法成功安装,但是博主发⽂的这个⽇期2019.06.11已经⽤上了私有镜像了,所以教程可⽤,放⼼使⽤,未来会不会修改请根据我上⾯给出的官⽹的教程来⾃⾏调整即可。
2. 私有镜像的制作
1. 编写配置⽂件,准备从 docker 仓库中下载 ubuntu16.04 、 cuda9 、 cudnn7 基础镜像
Bootstrap: docker
From:nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04
2. 创建新的初始镜像(相当于新建⼀个⼦系统,但是没有可视化界⾯)
sudo singularity build image_name.simg config.def
3. 打开镜像⽂件
# 在test-dir⽂件夹下新建⼀个叫image_name.simg的镜像
sudo singularity build --sandbox test-dir image_name.simg
4. 编辑镜像
sudo singularity shell --nv -w test-dir
在镜像的⼦系统下,因为使⽤的初始镜像是Ubuntu16.04, 所以使⽤ubuntu的安装命令,⼀顿pip,⼀顿安装即可,我这⾥偷懒不想⼀个包⼀个包安装,在私有镜像中安装anaconda3,并且成功了,哈哈哈哈,以下给出在私有镜像中安装anaconda3的⽅法(不使⽤清华镜像,因为清华的anaconda镜像关
了(很⽆奈啊,⾮常慢,但是总⽐⾃⼰⼀⾏⼀⾏pip强)):
wget repo.anaconda/archive/Anaconda3-2019.03-Linux-x86_64.sh
./Anaconda3-2019.03-Linux-x86_64.sh
wget 后⾯的⽹址是在上到⾃⼰系统对应的软件包的下载地址,具体操作就是悬停在下载按钮上⽅右键选择复制下载链接,这样就能将安装包下载到私有镜像本地,通过bash就能装上了,喜⼤普奔,不过速度太慢了,耗时3⼩时
后续的问题⽐如切换默认的python为anaconda的python:
如何将清华镜像添加到pip中:
5. 保存镜像
sudo singularity build name.simg test-dir
ubuntu安装教程上⾯的⼀整个过程就产⽣了⼀个名为name.simg的私有镜像
这个私有镜像就能上传到Lico框架下的⾼性能计算平台下使⽤了
发布评论