Skip to content

集群搭建虚拟环境及其相关包的安装方法

AI生态包路径:https://cancon.hpccube.com:65024/4/main/
集群whl包的放置位置:/public/software/apps/DeepLearning/whl
每年4月、10月dtk会推出新版本及相关依赖,优化算子,修复bug,并以dtk-年月命名,例如dtk-2310、dtk-2404,可以根据需要选择驱动及环境

一、安装conda工具

直接在eshell命令行执行

bash /public/software/apps/DeepLearning/whl/conda/Miniconda3-latest-Linux-x86_64.sh #根据提示安装即可
source ~/.bashrc  #激活安装的conda环境
conda -V #查看conda版本,显示版本号则安装成功

二、环境搭建

1、创建虚拟环境并进行环境搭建(以下为昆山环境搭建示例,请根据需要自行修改):

conda create -n torch1.13-dtk23.10-py310 python=3.10 -y  #创建虚拟环境,torch1.13-dtk23.10-py310表示虚拟环境名,可以自定义;-y 表示yes,无需安装时重复手动输入
conda activate torch1.13-dtk23.10-py310  #激活自己创建的虚拟环境
cd /public/software/apps/DeepLearning/whl/dtk-23.10/pytorch/torch1.13/py310 #切换到需要包的路径
pip install torch-1.13.1+git7d2dd01.abi0.dtk2310-cp310-cp310-manylinux2014_x86_64.whl  -i https://pypi.tuna.tsinghua.edu.cn/simple #安装需要的torch版本,-i后面是清华镜像源,可以加快安装
pip install torchvision-0.14.1+gitf78f29f.abi0.dtk2310.torch1.13-cp310-cp310-manylinux2014_x86_64.whl    #一般对应的torchvision也需要安装下

注意安装torch时对应的python版本一定要和创建环境时的python版本一致!!! (注:也可以直接pip install /public/software/apps/DeepLearning/whl/dtk-23.10/pytorch/torch1.13/py310/* 进行安装, 其他包一般直接pip install xxx 安装即可。)

三、验证环境是否安装成功

1、 交互式验证方式:

#申请资源
salloc -p kshdtest -N1 -n 32 --gres=dcu:4   #kshdtest表示队列,可以根据whichpartition查看到自己的队列名,带有hd标志的表示dcu队列
ssh 计算节点    #可以通过squeue查看,NODELIST下面对应的是计算节点
conda activate torch1.13-dtk23.10-py310  #重新激活虚拟环境
#环境加载
module purge #清除默认环境
module load compiler/devtoolset/7.3.1  mpi/hpcx/2.11.0/gcc-7.3.1 #加载基础的环境
module load compiler/dtk/23.10  #加载对应安装torch的dtk模块
#验证
python
import torch
torch.cuda.is_available()   #显示true表示torch的加速版本安装成功

简单算例验证方法: 拷贝公用目录下面的项目到自己的目录

cp -r /public/software/apps/DeepLearning/Benchmark/PyTorch/mnist ./
cd mnist
python -u main.py  #此处默认已经进入虚拟环境和并加载需要的模块

注:交互式验证完记得取消作业,scancel 作业号(squeue查出的JOBID下面对应的为作业号)

2、 脚本验证方法(推荐):

编写submit.sh 脚本,脚本内容如下:

#!/bin/bash
#SBATCH -J ceshi          #-J后面表示作业名,可以自定义
#SBATCH -p kshdtest      #whichpartition查看可用队列,带有hd标志的表示dcu队列
#SBATCH -N 1           # 表示节点数量
#SBATCH -n 32          #表示申请的核心数
#SBATCH --gres=dcu:4   #表示卡数,默认核卡比为8:1
#SBATCH -o %x.o%j       #作业标准输出日志,可以自定义
#SBATCH -e %x.e%j       #作业错误输出日志,可以自定义

source ~/miniconda3/etc/profile.d/conda.sh  #激活conda命令
conda activate torch1.13-dtk23.10-py310     #激活自定义的虚拟环境

module purge #清除默认环境
module load compiler/devtoolset/7.3.1  mpi/hpcx/2.11.0/gcc-7.3.1 #加载基础的环境
module load compiler/dtk/23.10  #加载对应安装torch的dtk模块

python3 -u main.py  #自己需要运行的程序,可以根据需要自行替换

提交作业: sbatch submit.sh
实时查看输出日志: tail -f ceshi.o48473594 #输出日志名对应脚本中自定义产生的

查看dcu显存使用情况方法:
(1)ssh 计算节点 #登录计算节点,squeue查看到的nodelist下面对应的内容
(2)watch -n 1 rocm-smi #每隔一秒刷新一次DCU状态,-n表示几秒刷新一次,如:-n 1 则表示1秒刷新一次;乌镇:watch -n 1 hy-smi