ROCm与torch、tensorflow、fairseq的安装

环境

LINUX_DISTRO openSUSE Tumbleweed x86_64
LINUX_KERNEL 6.1.8-1-default
LAPTOP_INFO 82UG Legion R9000X ARHA7
GPU AMD ATI Radeon RX 6650 XT (RX 6800S)

ROCm

arch community rocm build on 2023-02-08 19:15 UTC
no need to install with rpm-tools.
rocm-core

Repo

MAIN_REPO: https://repo.radeon.com/rocm/zyp/
ROOT_REPO: https://repo.radeon.com/
上面的链接是ROCm仓库,虽然官网上没有给出最新版的配置命令,而最新版没有任何坏处,所以默认安装latest仓库里的,虽然并不一定是真正意义的最新。

amdgpu-install & rocm repo

sudo zypper --no-gpg-checks install https://repo.radeon.com/amdgpu-install/22.20.5/sle/15.4/amdgpu-install-22.20.50205-1.noarch.rpm

这条命令会安装amdgpu-install 22.20.5,事实上也不是最新的,这一块的命名有一个改动,按照需要去选择。

此外这条命令可能会自动修改ROCm仓库为对应的版本,如果需要修改,注意ROCm version>=5.1的仓库中包含两个文件夹mainproprietary,将少数程序移出目录。使用过程如果缺少了包可以再添加否则使用main应该是足够的。

如果执行sudo zypper ref出现了上述的仓库无法刷新Repository 'AMDGPU 5.4 repository' is invalid.,很可能因为一个变量amdgpudistro无法获取到正确的值。这个变量目前只出现在repo链接中,而且有两个选值:15.415.3,如果使用leap可能不会出现错误。

所以最好是自己修改链接为正确的固定链接。

install usecase

sudo amdgpu-install --usecase=rocm,hip --rocmrelease=5.4.2

上述命令中的rocmrelease选项为指定多版本中的某一个版本,比较容易知晓正确的版本号。这是截至目前最新的版本,应该与仓库的版本一致。
usecase 官网中有详细的说明,为了节省时间搬运至此。

# To display a list of available use cases. Note, the list in this section represents only a sample of available use cases for ROCm.
$ sudo amdgpu-install --list-usecase
If --usecase option is not present, the default selection is "graphics,opencl,hip"

Available use cases:
rocm(for users and developers requiring full ROCm stack)
- OpenCL (ROCr/KFD based) runtime
- HIP runtimes
- ROCm Compiler and device libraries
- ROCr runtime and thunk

lrt(for users of applications requiring ROCm runtime)
- ROCm Compiler and device libraries
- ROCr runtime and thunk

opencl(for users of applications requiring OpenCL on Vega or
later products)
- ROCr based OpenCL
- ROCm Language runtime

openclsdk (for application developers requiring ROCr based OpenCL)
- ROCr based OpenCL
- ROCm Language runtime
- development and SDK files for ROCr based OpenCL

hip(for users of HIP runtime on AMD products)
- HIP runtimes
- hiplibsdk (for application developers requiring HIP on AMD products)
- HIP runtimes
- ROCm math libraries
- HIP development libraries

默认安装即可。其余的软件包可以在后续需要再添加,尤其是编译时需要加入devel包。

环境变量

export HSA_OVERRIDE_GFX_VERSION=10.3.0
由于RX 6800SGFX_VERSION是不受支持的,目前最高的gfx1030

torch

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm5.2

注意pip3命令,也可能是pip

tensorflow

pip3 install tensorflow-rocm
import tensorflow as tf
tf.test.is_built_with_rocm()

fairseq

pip3 install fairseq`

apex

github repo

git clone https://github.com/ROCmSoftwarePlatform/apex
cd apex
python3 setup.py install --cuda_ext --cpp_ext --prefix .local

可能需要安装一些额外的包。测试过没有需要修改的代码问题。

问题

  1. 注意执行的python往往是/bin/python这会出现缺失本地用户环境变量的问题。临时使用需要更改命令为HSA_OVERRIDE_GFX_VERSION=10.3.0 command
  2. python环境可指定显示给内部的gpu序列。CUDA_VISIBLE_DEVICES=0 command,可以指定运行的gpu。
posted @ 2023-02-04 15:00  dlinuigh  阅读(877)  评论(0编辑  收藏  举报