官方文档

对应torch下载地址

ROCm安装配置踩坑

  • 遇到的问题
    • 安装ubuntu系统更新内核,内核新一点就可以
    • navi6800xt(gfx1030)显卡安装5.0及以上
    • rocm5.0以上是支持了navi显卡,如果是上一代的卡,可以装4.5这个版本系列,因为torch官网就有编译好的pytorch版本,可以直接安装到本地环境而不需要docker镜像
    • 安装后重启
    • (更新1)bios禁用安全启动。

ROCm安装

  • (更新2)pytorch支持ROCM的版本更新到了5.4(pytorch2.0也支持),而rocm更新到了5.6(并且安装过程简化),似乎是支持大多数6000系gpu,笔记本的6000系列gpu(需要额外加一行参数)
    在这里插入图片描述

  • (更新3)ROCM现在已经支持windows,文章最开始的文档有官方的安装步骤,应该是挺简单的,各位有兴趣的可以试试

以下示例安装5.4,系统为ubuntu22.04,其他系统版本去官网看看安装说明找对应的安装脚本就可以

sudo apt update && sudo apt upgrade
sudo apt install wget gnupg2 
# 22.04安装这个
wget https://repo.radeon.com/amdgpu-install/5.4/ubuntu/jammy/amdgpu-install_5.4.50400-1_all.deb
sudo apt install ./amdgpu-install_5.4.50400-1_all.deb
# 20.04安装这个
wget https://repo.radeon.com/amdgpu-install/5.4/ubuntu/focal/amdgpu-install_5.4.50400-1_all.deb
sudo apt-get install ./amdgpu-install_5.4.50400-1_all.de
# 然后安装单个用例
sudo amdgpu-install --usecase=rocm,hip,mllib --no-dkms
# 添加用户至render组
sudo usermod -a -G video,render $LOGNAME

如果是笔记本6700s等显卡,现在直接运行会报如下错误。
在这里插入图片描述

# 需要额外加一行参数
export HSA_OVERRIDE_GFX_VERSION=10.3.0

重启系统
验证

# 显示gpu信息
rocm-smi
image-20220411175711359
# 两项都显示gpu信息
/opt/rocm/bin/rocminfo
/opt/rocm/opencl/bin/clinfo
image-20220411175916534

接下来就是如何使用rocm进行显卡运算加速了,有两种方式(方式一的docker镜像我不知道还更新着没,最近amd在这一块也发力了直,直接本地装也挺好的),推荐方式2

方式一,docker容器运行

       首先按以下教程安装docker,教程里推荐使用阿里云的分支

docker安装

       安装后下载pytorch或者tensorflow的镜像,这两个镜像里面都装好了torch或者tf,所以进去就可以直接用,好像是rocm5.0以上才支持navi显卡,所以推荐navi显卡用这个方法,因为torch官网编译好的版本最新支持到rocm4.5.2,所以你的显卡要是支持,就可以区torch官网选择你的版本,他会给你pip命令,这样你就可以安装到本地环境而不需要docker容器的远程环境。
       安装完docker就可以下载镜像了,需要哪个下哪个,这两个镜像一个(解压后)27g,一个22g,docker默认安装到根目录下的相关文件夹中,所以安装ubuntu时需要指定/的大小要大一点

下载Pytorch和TersonFlow镜像

sudo docker pull rocm/pytorch:latest

sudo docker pull rocm/tensorflow:latest

       下载完之后可以使用 docker images查看已下载的镜像,第四个就是

创建Pytorch或者TensorFlow容器

       这里可以把--rm删除,保存容器,以后直接使用docker start pytorch启动容器,再用docker attach pytorch进入容器,进入之后直接运行包含调用cuda的代码就可以。

# 如果下载的是pytorch的镜像就用这个命令
sudo docker run -it -v $HOME:/data --privileged --rm --device=/dev/kfd --device=/dev/dri --group-add video --name pytorch rocm/pytorch:latest
#如果是tensorflow就用这个命令
sudo docker run -it -v $HOME:/data --privileged --rm --device=/dev/kfd --device=/dev/dri --group-add video rocm/tensorflow:latest

       如果是会用docker的到这里教程基本就结束了。如果不会用docker接着往下看。
       上述命令运行完会直接进入创建好的容器,可以按ctrl+p+q先暂时退出,打开vscode,vscode安装的话就自己百度了,在插件市场搜索remote-containers安装

image-20220411182155093

       安装完之后点vscode左下角的

       选择Attach to Running Container


       之后会弹出来一个新窗口,这样就可以在ide上开发了。注意:vscode连接container后默认不启用一部分插件,所以你需要自己安装python等的支持插件
       验证没有问题

       运行rocm的官方示例

       还有一个方法是不用vscode,可以进入容器内配置jupyter notebook 远程连接,方法自行百度,在映射了路径的前提下,容器内开启jupyter服务,可以在ubuntu本地浏览器运行jypyter笔记本,并且实现文件的同步。

方式二

直接本地新建一个新的环境,根据文章开始提供的下载的torch版本决定,下载安装至本地的python环境。
另外虽然安装的rocm版本是5.4,但是torch的5.2版本也是支持的,可以直接安装。

对docker不熟悉的可以使用此方法,以下示例安装5.0版本

  1. 首先下载自己想要安装自定义python版本的对应的torch版本(地址在文章开头) ,下载到本地,可能会慢,具体方法自己查 在这里插入图片描述
  2. 然后,本地新建环境,这里顺便把numpy也装上,不然后面使用会缺少包。
    在这里插入图片描述
  3. 安装本地的包
    在这里插入图片描述
  4. 最后验证,左侧的rocm5.0显示安装成功,torch张量也能创建存储在gpu上
    在这里插入图片描述
import torch
torch.cuda.is_available()
# output = True 即可以调用gpu

在文章最开始提供的torch下载页面,进去搜索rocm,可以看到支持的版本

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐