1 基于Anaconda的DCU使用示例:

1.1. 安装Anaconda;

Anaconda地址

1.2. 使用DCU在Pytorch推理Resnet50分类

1.2.1. 创建虚拟环境, 设置pip下载源为国内:

conda create -n dcu_test python=3.10
conda activate dcu_test
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

1.2.2. 从开发者社区的下载torch、torchvision;

DAS生态包下载地址

  1. 下载torch、torchvision的whl文件到本地;

  2. pip install *.whl;

  3. 验证torch是否安装成功;

    python -c "import torch;print(torch.cuda.is_available());print(torch.cuda.device_count())"
    

1.2.3. 执行resetnet50分类的推理代码:

git clone http://developer.hpccube.com/codes/wangkx1/torch_inference_resnet50.git
cd torch_inference_resnet50
python torch_verify.py

2 基于Docker使用DCU

DCU开发者社区光源镜像介绍:

https://sourcefind.cn/#/service-list

光源可以查询到基于多种DTK版本的安装的深度学习基础镜像、大模型推理框架(vllm、lmdeploy、fastllm等)镜像、通用模型推理框架镜像(migraphx、AITemplate等)镜像;

2.1. 安装Docker

参考当前操作系统的版本号,自行安装docker

查看当前操作系统版本号:

cat /etc/os-release

2.2. 启动容器

基于镜像创建的容器可提供开箱即用的基于DCU的深度学习运行环境:

2.2.1. 前置条件

  1. 安装DCU加速卡,并完成其对应驱动的安装;

  2. 正确安装docker;

2.2.2. 拉取镜像

docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.0-ubuntu20.04-dtk24.04.1-py3.8

2.2.3. 启动容器命令

docker run -it \
--network=host \
--ipc=host \
--shm-size=16G \
--device=/dev/kfd \
--device=/dev/mkfd \
--device=/dev/dri \
-v /opt/hyhal:/opt/hyhal \
-v your_path:/workspace \
--group-add video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
--name=dcu_test \
image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.0-ubuntu20.04-dtk24.04.1-py3.8 \
/bin/bash


注: 
(1)若出现libhsa-runtime相关报错,启动参数请加上-v /opt/hyhal:/opt/hyhal*;若物理机无/opt/hyhal,请下载hyhal并解压放置容器/opt/下;*
(2)参数解释:
     -it  # i:打开容器标准输入,t:分配一个伪终端
     --network=host  # 连接网络(none|host|自定义网络...)
     --ipc=host  # 设置IPC模式(none|shareable|host...)
     --shm-size=24G  # 设置/dev/shm大小
     --device=/dev/kfd  # 指定访问设备(DCU需要添加/dev/kfd、/dev/mkfd、/dev/dri)
     --device=/dev/mkfd
     --device=/dev/dri
     -v /opt/hyhal:/opt/hyhal  # dtk23.10以上版本镜像需要-v挂载物理机目录/opt/hyhal
     -v your_path:/workspace  # 挂载工作目录
     --group-add video  # 设置用户附加组(普通用户使用DCU需要)
     --cap-add=SYS_PTRACE  # 添加权限(SYS_PTRACE|NET_ADMIN...)
     --security-opt seccomp=unconfined  # 安全配置(seccomp=unconfined|label=disable...)
     --name=dcu_test   # 容器名称
     image.sourcefind.cn:5000/dcu/admin/base/custom:alphafold2-2.3.2-dtk23.10-py38  # 所需镜像
     /bin/bash  # 容器内启动bash

2.3. 基于容器执行resetnet50分类的推理代码

2.3.1. 验证torch是否安装成功;

```shell
python -c "import torch;print(torch.cuda.is_available());print(torch.cuda.device_count())"
```

如果不可用, 从开发者社区下载安装torch等你需要的深度学习依赖包;

  1. 下载torch、torchvision的whl文件到本地;

  2. pip install *.whl;

2.3.2. 执行resetnet50分类的推理代码:

git clone http://developer.hpccube.com/codes/wangkx1/torch_inference_resnet50.git
cd torch_inference_resnet50
python torch_verify.py