300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > AMD 显卡/GPU 深度学习折腾指南

AMD 显卡/GPU 深度学习折腾指南

时间:2024-01-17 19:28:49

相关推荐

AMD 显卡/GPU 深度学习折腾指南

文章首发于 个人博客

文章目录

IntroductionZheTeng ConditionsGPU 列表CPU 列表关于 ROCmInstall on Ubuntu系统准备安装 ROCmDeep Learning on ROCmTensorflowPyTorchConclusion

Introduction

鉴于 NVIDIA 的价格和自己的预算, 因此上了 AMD 的船,自此主机组装完成。

AMD 的 CPU 加 AMD 的 GPU, AMD, YES !

装机完成之后,首要问题就是如何在 AMD 的显卡上进行深度学习炼丹?

经过一番配置(折腾),顺利实现上一目标,以下为个人在 Ubuntu 上的折腾指南。

ZheTeng Conditions

由于要使用AMD 的 ROCm 平台, 其对硬件有一定的要求,请确定是否如何下面的条件,如果符合,则可以参考以下的步骤进行配置。

GPU 列表

以下的型号的 GPU 符合条件:

更详细的支持的 GPU 列表。

CPU 列表

以下型号的 CPU 在支持之列:

更详细的说明链接。

关于 ROCm

ROCm的英文全称Radeon Open Compute platform, 目标是建立可替代 CUDA 的生态。ROCm 和CUDA 最大的区别在于其开放性,ROCm希望能在各种不同的硬件上运行,同时 ROCm 完全开源。

更多关于 ROCm 介绍可以参考这篇文章,这里不是重点,不再细说。

Install on Ubuntu

了解了以上内容,下面开始安装 ROCm。

系统准备

推荐Ubuntu 16.04 或 18.04, 笔者是 18.04

确保系统在最新状态,安装libnuma,再重启:

sudo apt updatesudo apt dist-upgradesudo apt install libnuma-devsudo reboot

安装 ROCm

如果你的系统已经安装了官方驱动,那么需要运行以下命令删除系统中已有的的AMD GPU 驱动,并重新启动。

sudo amdgpu-pro-uninstallsudo apt autoremove -ysudo reboot

添加 APT源 Add the ROCm apt repository

使用如下命令:

wget -qO - /rocm/apt/debian/rocm.gpg.key | sudo apt-key add -echo 'deb [arch=amd64] /rocm/apt/debian/ xenial main' | sudo tee /etc/apt/sources.list.d/rocm.list

Install ROCm by apt

使用 apt 安装 rocm 包

sudo apt updatesudo apt install rocm-dkms

以上过程会非常慢,如果你有科学上网的方法,推荐使用之。我在路由端配置了相关加速,正常情况下大概十分钟完成。

Set user permissions

设置用户 GPU 使用权限,将当前用户加入到权限组:

sudo usermod -a -G video $LOGNAME

为系统以后的用户都添加权限:

echo 'ADD_EXTRA_GROUPS=1' | sudo tee -a /etc/adduser.confecho 'EXTRA_GROUPS=video' | sudo tee -a /etc/adduser.conf

测试

重启系统之后,运行以下命令验证 ROCm 安装是否成功,如果看到你的 GPU 在下面的命令中都有显示,则表示已经安装成功。

/opt/rocm/bin/rocminfo /opt/rocm/opencl/bin/x86_64/clinfo

结果如下:

rocminfo 命令:

clinfo 命令:

环境变量

将 ROCm 添加到环境变量:

echo 'export PATH=$PATH:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin/x86_64' | sudo tee -a /etc/profile.d/rocm.sh

监控(optional)

AMD 没有 NVIDIA 类似nvidia-smi的命令,只能使用第三方,这里推荐 radeontop,可以直接使用 apt 安装。

sudo apt-get install radeontopsudo radeontop

如果你的结果全是0, 那么你最好自己编译安装,这里或许比较折腾,因为需要的环境较多。

显示示例:

Deep Learning on ROCm

当前支持的框架如下:

TensorFlow: TensorFlow for ROCm – latest supported version 1.13

MIOpen: Open-source deep learning library for AMD GPUs – latest supported version 1.7.1

PyTorch: PyTorch for ROCm – latest supported version 1.0

Python 环境管理推荐使用 Anaconda

Tensorflow

Tensorflow 支持较为完善,直接使用 apt 安装即可。具体方法如下:

安装相关包

sudo apt updatesudo apt install rocm-libs miopen-hip cxlactivitylogger

apt 安装

sudo apt install wget python3-pip# Pip3 install the whl package from PyPIpip3 install --user tensorflow-rocm

PyTorch

安装依赖包 rocrand, hiprand, rocblas, miopen, miopengemm, rocfft, rocsparse, rocm-cmake, rocm-dev, rocm-device-libs,rocm-libs, hcc, hip_base,hip_hcc, hip-thrust Clone PyTorch repository

git clone /ROCmSoftwarePlatform/pytorch.gitcd pytorchgit submodule update --init --recursive

指定 GPU 型号

如下:

.

通过设置环境变量,指明编译针对的GPU类型,设置为:export PYTORCH_ROCM_ARCH=gfx×××

‘Hipify’ PyTorch source. 将PyTorch中的CUDA函数 build 为ROCm中的hip函数

python tools/amd_build/build_amd.py

编译安装

export USE_NINJA=1 # 可选USE_ROCM=1 USE_LMDB=1 BUILD_CAFFE2_OPS=0 BUILD_TEST=0 USE_OPENCV=1 MAX_JOBS=N python setup.py install

MAX_JOBS=N 中的 N 小于你的内存除以4.

torchvision

git clone /pytorch/visioncd visionpython setup.py installcd ..

测试

PYTORCH_TEST_WITH_ROCM=1 python test/run_test.py --verbose

我的测试有一定的问题:

Conclusion

AMD, YES!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。