ubuntu20.04安装rocm教程,AMD深度学习,6800xt配置pytorch、CUDA(已更新)本地安装torch
ROCm安装配置踩坑
- 首先下载自己想要安装自定义python版本的对应的torch版本 ,下载到本地,可能会慢,具体方法自己查
- 然后,本地新建环境,这里顺便把numpy也装上,不然后面使用会缺少包。
- 安装本地的包
- 最后验证,左侧的rocm5.0显示安装成功,torch张量也能创建存储在gpu上
ROCm安装
此版本为5.1.0
sudo apt update && sudo apt dist-upgrade
sudo apt-get install wget gnupg2
sudo usermod -a -G video $LOGNAME
echo 'ADD_EXTRA_GROUPS=1' | sudo tee -a /etc/adduser.conf
echo 'EXTRA_GROUPS=video' | sudo tee -a /etc/adduser.conf
echo 'EXTRA_GROUPS=render' | sudo tee -a /etc/adduser.conf
sudo wget https://repo.radeon.com/amdgpu-install/22.10/ubuntu/focal/amdgpu-install_22.10.50100-1_all.deb
sudo apt-get install ./amdgpu-install_22.10.50100-1_all.deb
sudo amdgpu-install --usecase=dkms
amdgpu-install -y --usecase=rocm
配置环境和权限
sudo usermod -a -G video $LOGNAME
sudo usermod -a -G render $LOGNAME
echo 'ADD_EXTRA_GROUPS=1' | sudo tee -a /etc/adduser.conf
echo 'EXTRA_GROUPS=video' | sudo tee -a /etc/adduser.conf
echo 'EXTRA_GROUPS=render' | sudo tee -a /etc/adduser.conf
echo 'export PATH=$PATH:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin' | sudo tee -a /etc/profile.d/rocm.sh
验证
# 显示gpu信息
rocm-smi
# 两项都显示gpu信息
/opt/rocm/bin/rocminfo
/opt/rocm/opencl/bin/clinfo
接下来就是如何使用rocm进行显卡运算加速了,有两种方式,推荐方式1
方式一,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
安装
安装完之后点vscode左下角的
选择Attach to Running Container
之后会弹出来一个新窗口,这样就可以在ide上开发了。注意:vscode连接container后默认不启用一部分插件,所以你需要自己安装python等的支持插件
验证没有问题
运行rocm的官方示例
还有一个方法是不用vscode,可以进入容器内配置jupyter notebook 远程连接,方法自行百度,在映射了路径的前提下,容器内开启jupyter服务,可以在ubuntu本地浏览器运行jypyter笔记本,并且实现文件的同步。
方式二
或者直接新建一个新的环境,根据文章开始提供的下载的torch版本决定,下载安装至本地的python环境。此方法适用于不熟悉docker且rocm版本是4.5.2以下的
import torch
torch.cuda.is_available()
# output = True 即可以调用gpu
此方法目前只支持rocm4.5(应该),在文章最开始提供的torch下载页面,进去搜索rocm,可以看到支持的版本
其他版本目前还不太行,需要build自己显卡的pytorch版本,我尝试了几次编译失败,就直接用docker容器了,安装后虽然显示cuda.is_available()
是True
,但是运行训练会报HIP编译错误,如果你是这方面的大佬的话,可以去官方文档的深度学习板块有git官方的torch源码进行编译的方法,我反正失败了,如果有人能编译成功也发我一下方法哈哈哈。
来源:reven#1118