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.
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
的仓库中包含两个文件夹main
和proprietary
,将少数程序移出目录。使用过程如果缺少了包可以再添加否则使用main
应该是足够的。
如果执行sudo zypper ref
出现了上述的仓库无法刷新Repository 'AMDGPU 5.4 repository' is invalid.
,很可能因为一个变量amdgpudistro
无法获取到正确的值。这个变量目前只出现在repo链接中,而且有两个选值:15.4
和15.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 6800S
其GFX_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
git clone https://github.com/ROCmSoftwarePlatform/apex
cd apex
python3 setup.py install --cuda_ext --cpp_ext --prefix .local
可能需要安装一些额外的包。测试过没有需要修改的代码问题。
问题
- 注意执行的python往往是
/bin/python
这会出现缺失本地用户环境变量的问题。临时使用需要更改命令为HSA_OVERRIDE_GFX_VERSION=10.3.0 command
- python环境可指定显示给内部的gpu序列。
CUDA_VISIBLE_DEVICES=0 command
,可以指定运行的gpu。