本来准备买Nvidai的显卡,可是囊中羞涩再加上听说AMD的卡也能使用tensorflow进行深度学习加速了,所以1149京东买了个蓝宝石RX580 8G 白金版。网上找安装教程时发现教程非常少,所以决定写一篇详细的安装攻略,以便下次重装系统时少走弯路。
CPU: intel i7 8700
GPU: AMD RX580 8G
内存: 8G*2 DDR4 2400MHZ
硬盘: SSD 120G
主板: 华硕ROG B360
电源: 安钛克550W
操作系统: Ubuntu 18.04 (不要先装Anaconda,装了也没关系解决办法,
解决办法点击跳转)
安装ROCm版本:最新2.5(截止2019.06.10)
tensorflow版本:1.13
github地址,
社区地址,相关blog
ROC全称为Radeon Open Compute,即为“Radeon开放计算”,其中Radeon为AMD GPU的一个系列。
ROCm 全称ROC platforM,是基于一系列开源项目的AMD GPU计算生态平台。类似于NVIDIA家的CUDA。截止2019.06,ROCm版本已经发布到2.5,支持的深度学习框架有Tensorflow、Caffe、Pytorch。
MIOpen:AMD发布的深度学习加速库,相当于NVIDIA家的cuDNN深度学习加速库,其实是根据cuDNN移植过来的。
HSA,Heterogeous system architecture(异构系统架构)可以理解为在硬件系统(CPU、GPU、ARM等不同架构处理器)之上的一套统一编程环境,比如相同的代码使用HSA可以在不同硬件平台运行。起初是MD 等为支持 CPU+GPU 混合计算生态而成立了非赢利组织 HSA 基金,提供 runtime 和架构 API 标准。现成员包括 AMD、三星、高通、ARM、TI、Imagination、MTK等。
1.先来更新一下系统环境
sudo apt update
sudo apt dist-upgrade
2.安装libnuma
sudo apt install libnuma-dev
3.重启系统
sudo reboot
4.安装ROCm apt存储库
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
5.更新apt库list并且安装ROCm
sudo apt update
sudo apt install rocm-dkms
下载大概504M的内容,然后解压后需要2336M空间。
使用ubuntu自带源有点慢呀!500M下了半个小时。
6.设置权限
groups
sudo usermod -a -G video $LOGNAME
7.重启
8.检查安装是否成功
/opt/rocm/bin/rocminfo
在终端命令行输入上面命令,如果安装成功,会在输出的HSA系统属性中显示GPU的信息。
/opt/rocm/opencl/bin/x86_64/clinfo
如果上面都能显示GPU的信息的话,说明已经安装成功,如果没有的话点击install issue查找原因。
9.将ROCm添加进path
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
OK!安装完成了。
sudo apt autoremove rocm-dkms rocm-dev rocm-utils
ROCm安装完成后,选择安装tensorflow,目前ROCm支持的tensorflow的版本是1.13。
安装tensorflow之前要先安装一些依赖。
sudo apt update
sudo apt install rocm-libs miopen-hip cxlactivitylogger
然后安装tensorflow
sudo apt install python3-pip
pip3 install --user tensorflow-rocm
安装过程有点慢!!, 特别注意:一定不要先安装Anaconda,不然没法用。
安装了怎么办?办法一:卸载Anaconda3
方法二:使用Docker
安装之后验证一下,终端依次输入:
python3
import tensorflow as tf
如果没有提示错误的话就安装成功了。
官方指导文档
包括MNIST、CIFAR-10等网络的使用。
要git,Google官方提供的基准测试的文件。
git clone -b cnn_tf_v1.13_compatible https://github.com/tensorflow/benchmarks.git
其中v1.13是安装的tensorflow的版本,我这里安装的是1.13。
之后:
cd benchmarks
python3 ./scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py --model=resnet50 --num_gpus=1
这里是训练resnet50网络,具体成绩如下:
在github上有个ROCm与NVIDIA的cuDNN的性能讨论,去看看。
参考:
AMD ROCm平台简介
AMD ROCm官方网页
AMD ROCm Github地址
ROCm说明文档
Tendorflow/benchmarks
ROCm/tensorflow-upstream
Performance comparsion:AMD with ROCm VS NVIDIA with cuDNN?