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

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

文章首发于 个人博客

文章目录

IntroductionZheTeng ConditionsGPU 列表CPU 列表关于 ROCm

Install on Ubuntu系统准备安装 ROCm

Deep Learning on ROCmTensorflowPyTorch

Conclusion

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 update

sudo apt dist-upgrade

sudo apt install libnuma-dev

sudo reboot

安装 ROCm

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

sudo amdgpu-pro-uninstall

sudo apt autoremove -y

sudo reboot

添加 APT源 Add the ROCm apt repository 使用如下命令:

wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add -

echo 'deb [arch=amd64] http://repo.radeon.com/rocm/apt/debian/ xenial main' | sudo tee /etc/apt/sources.list.d/rocm.list

Install ROCm by apt 使用 apt 安装 rocm 包

sudo apt update

sudo apt install rocm-dkms

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

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

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

测试 重启系统之后,运行以下命令验证 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 radeontop

sudo 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 update

sudo apt install rocm-libs miopen-hip cxlactivitylogger

apt 安装

sudo apt install wget python3-pip

# Pip3 install the whl package from PyPI

pip3 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 https://github.com/ROCmSoftwarePlatform/pytorch.git

cd pytorch

git 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 https://github.com/pytorch/vision

cd vision

python setup.py install

cd ..

测试

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

我的测试有一定的问题:

Conclusion

AMD, YES!

相关推荐

荣耀华为手机/平板原始初始密码是多少?怎么解锁恢复出厂刷机.手撕,跳过,重置.免拆机,通道降级升级id移除方法教程
海带怎么保存?教你几个海带存储小方法,随吃随拿,简单实用
猫的成语
365娱乐场投注

猫的成语

📅 07-05 👁️ 9940
见识下尼泊尔的一妻多夫制,晚上是怎么分配的?看完不敢相信
战车杀手金英权世界杯回顾
365娱乐场投注

战车杀手金英权世界杯回顾

📅 07-01 👁️ 9508
电脑城是真的离谱,难怪这么多店倒闭
天天365彩票软件官方下载3D

电脑城是真的离谱,难怪这么多店倒闭

📅 07-14 👁️ 7932