ROCm与tensorflow在ubuntu 18.04下的安装教程
本来准备买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
二、ROCm介绍
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等。
三、ubuntu下安装ROCm
1.先来更新一下系统环境
1 | sudo apt update |
2.安装libnuma
1 | sudo apt install libnuma-dev |
3.重启系统
1 | sudo reboot |
4.安装ROCm apt存储库
1 | wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add - |
1 | 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
1 | sudo apt update |
下载大概504M的内容,然后解压后需要2336M空间。
使用ubuntu自带源有点慢呀!500M下了半个小时。
6.设置权限
1 | groups |
1 | sudo usermod -a -G video $LOGNAME |
7.重启
8.检查安装是否成功
1 | /opt/rocm/bin/rocminfo |
在终端命令行输入上面命令,如果安装成功,会在输出的HSA系统属性中显示GPU的信息。
1 | /opt/rocm/opencl/bin/x86_64/clinfo |
如果上面都能显示GPU的信息的话,说明已经安装成功,如果没有的话点击install issue查找原因。
9.将ROCm添加进path
1 | 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!安装完成了。
四、卸载ROCm
1 | sudo apt autoremove rocm-dkms rocm-dev rocm-utils |
五、安装tensorflow
ROCm安装完成后,选择安装tensorflow,目前ROCm支持的tensorflow的版本是1.13。
安装tensorflow之前要先安装一些依赖。
1 | sudo apt update |
然后安装tensorflow
1 | sudo apt install python3-pip |
安装过程有点慢!!, 特别注意:一定不要先安装Anaconda,不然没法用。
安装了怎么办?办法一:卸载Anaconda3
方法二:使用Docker
安装之后验证一下,终端依次输入:python3
import tensorflow as tf
如果没有提示错误的话就安装成功了。
官方指导文档
包括MNIST、CIFAR-10等网络的使用。
六、benchmark测试
要git,Google官方提供的基准测试的文件。
1 | git clone -b cnn_tf_v1.13_compatible https://github.com/tensorflow/benchmarks.git |
其中v1.13是安装的tensorflow的版本,我这里安装的是1.13。
之后:
1 | cd benchmarks |
这里是训练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?