ubuntu20.04安裝rocm教程,AMD深度學習,6800xt配置pytorch、CUDA


官方文檔

對應torch下載地址

ROCm安裝配置踩坑

  • 遇到的問題
    • 安裝ubuntu系統更新內核,但是在win和Ubuntu雙系統的前提下(可能)導致內核更新不成功,我安裝成功的內核是5.13.39.
    • 內核更新不成功的原因是自己在安裝ubuntu系統時沒有手動分區,直接清空磁盤安裝,所以安裝系統時還是手動分區
    • 關閉bios安全啟動,並設置ubuntu的啟動引導為第一引導
    • navi6800xt(gfx1030)顯卡安裝5.0及以上
    • rocm5.0以上是支持了navi顯卡,如果是上一代的卡,可以裝4.5這個版本系列,因為torch官網就有編譯好的pytorch版本,可以直接安裝到本地環境而不需要docker鏡像
    • 安裝后重啟

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
image-20220411175711359
# 兩項都顯示gpu信息
/opt/rocm/bin/rocminfo
/opt/rocm/opencl/bin/clinfo
image-20220411175916534

接下來就是如何使用rocm進行顯卡運算加速了,有兩種方式,推薦方式1

方式一,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查看已下載的鏡像,第四個就是
image-20220411181233573

創建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
image-20220411182347596


image-20220411182452367
       之后會彈出來一個新窗口,這樣就可以在ide上開發了。注意:vscode連接container后默認不啟用一部分插件,所以你需要自己安裝python等的支持插件
       驗證沒有問題
image-20220411183916526
       運行rocm的官方示例
image-20220411182953583
       還有一個方法是不用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源碼進行編譯的方法,我反正失敗了,如果有人能編譯成功也發我一下方法哈哈哈。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM