ROCm 1.91之后不需要安装AMD GPU驱动程序。请参考新的安装流程:

通过AMD开发ROCm平台,TensorFlow可以使用AMD GPU实现GPU加速。现将搭建流程呈上。

硬件:

CPU:AMD Ryzen 1700x

GPU:AMD Radeon RX580

内存:32G

硬盘:SSD 256GB + HDD 2TB

安装Ubuntu 18.04

网上很多Ubuntu安装教程,这里不在赘述。我选的是最小化安装。

安装AMD GPU驱动程序

下载最新的驱动程序,我使用的是18.20版本。

以下载到Downloads目录为例

cd ~/Downloads

tar -Jxvf amdgpu-pro-18.20-606296.tar.xz

cd ~/Downloads/amdgpu-pro-18.20-606296

./amdgpu-pro-install --opencl=legacy

安装ROCm

增加ROCm的仓库

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

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

然后运行

sudo apt update

sudo apt install rocm-dkms

安装会报错,因为amdgpu这个AMD GPU的驱动程序在使用同一DKMS,我们强制安装这个包

sudo dpkg -i --force-overwrite /var/cache/apt/archives/rock-dkms_1.8-192_all.deb

sudo apt install -f

重新启动

sudo reboot

至此安装完毕。

可以使用rocminfo测试一下是否安装成功。

/opt/rocm/bin/rocminfo

安装TensorFlow(ROCm port)

下载TensorFlow的ROCm专用轮子

然后安装相关软件包

sudo apt-get update && \

sudo apt-get install -y --allow-unauthenticated \

rocm-dkms rocm-dev rocm-libs \

rocm-device-libs \

hsa-ext-rocr-dev hsakmt-roct-dev hsa-rocr-dev \

rocm-opencl rocm-opencl-dev \

rocm-utils \

rocm-profiler cxlactivitylogger \

miopen-hip miopengemm

然后安装python相关软件包

sudo apt-get update && sudo apt-get install -y \

python3-numpy \

python3-dev \

python3-wheel \

python3-mock \

python3-future \

python3-pip \

python3-yaml \

python3-setuptools

安装之后安装我们的轮子(以Downloads目录为例)

sudo pip3 install ~/Downloads/tensorflow-1.8.0-cp35-cp35m-manylinux1_x86_64.whl

估计你安装不上。

会报错,因为18.04已经自动升级python为3.6了。没关系,把文件名里的35改成36,可以正常安装。不过在每次运行TensorFlow时会报错。

测试一下吧

Python 3.6.5 (default, Apr 1 2018, 05:46:30)

[GCC 7.3.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import tensorflow as tf

/usr/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6

return f(*args, **kwds)

>>> hello = tf.constant('Hello, TensorFlow!')

>>> sess = tf.Session()

2018-07-22 18:59:14.289004: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA

2018-07-22 18:59:14.296182: W tensorflow/stream_executor/rocm/rocm_driver.cc:404] creating context when one is currently active; existing: 0x7fa28910d130

2018-07-22 18:59:14.296312: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1451] Found device 0 with properties:

name: Ellesmere [Radeon RX 470/480]

AMDGPU ISA: gfx803

memoryClockRate (GHz) 1.266

pciBusID 0000:09:00.0

Total memory: 8.00GiB

Free memory: 7.75GiB

2018-07-22 18:59:14.296337: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1562] Adding visible gpu devices: 0

2018-07-22 18:59:14.296360: I tensorflow/core/common_runtime/gpu/gpu_device.cc:989] Device interconnect StreamExecutor with strength 1 edge matrix:

2018-07-22 18:59:14.296372: I tensorflow/core/common_runtime/gpu/gpu_device.cc:995] 0

2018-07-22 18:59:14.296384: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1008] 0: N

2018-07-22 18:59:14.296429: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1124] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7539 MB memory) -> physical GPU (device: 0, name: Ellesmere [Radeon RX 470/480], pci bus id: 0000:09:00.0)

>>> sess.run(hello)

b'Hello, TensorFlow!'

>>> b = tf.constant(32)

>>> sess.run(a+b)

42

>>> sess.close()

>>> exit()

更新 2018/9/13

升级使用Ubuntu的最新内核4.15.0-34会导致驱动加载错误,运行rocminfo会出现错误

hsa api call failure at line 900, file: /home/jenkins/jenkins-root/workspace/compute-rocm-rel-1.8/rocminfo/rocminfo.cc. Call returned 4104

解决方案是删除新内核使用原内核4.15.0-33

sudo dpkg --get-selections | grep linux #查看已安装的内核

sudo apt remove linux-image-4.15.0-34-generic #删除新内核

sudo apt install linux-image-4.15.0-33-generic #安装原内核

更新 2018/11/02

ROCm1.91版本不需要安装AMD GPU驱动。

内核4.15.0-38测试通过。

python调用gpu amd_TensorFlow通过AMD GPU加速(ROCm/Ubuntu 18.04)相关推荐

  1. rocm平台_TensorFlow通过AMD GPU加速(ROCm/Ubuntu 18.04)

    ROCm 1.91之后不需要安装AMD GPU驱动程序.请参考新的安装流程: 通过AMD开发ROCm平台,TensorFlow可以使用AMD GPU实现GPU加速.现将搭建流程呈上. 硬件: CPU: ...

  2. ubuntu18.04安装python3_如何在Ubuntu 18.04服务器上安装Python 3和设置编程环境

    一,介绍 Python是一种灵活且通用的编程语言,可在许多用例中利用,在脚本,自动化,数据分析,机器学习和后端开发方面具有优势.开发团队于1991年首次发布,其名称受到英国喜剧团体Monty Pyth ...

  3. Ubuntu 18.04下的Python和OpenCV的安装

    最近在做深度学习和计算机视觉的有关内容,因此要在python中用到opencv.我的电脑装的是Ubuntu 18.04,python 3.6和OpenCV 3.4.2 .按照官网的安装方法出了个问题, ...

  4. ubuntu安装python3.8_在Ubuntu 18.04系统上安装Python 3.8的两种方法

    本文介绍在Ubuntu 18.04/16.04系统上安装Python 3.8的两种不同方法,第一个选择是从Deadsnakes PPA安装deb软件包,第二个选择是从源代码构建,当前Python 3. ...

  5. faiss python安装_如何在ubuntu 18.04上安装faiss GPU

    最近因为要做多路召回的相关研究需要使用faiss进行召回,很多同学困在了安装的流程上.所以想把如何安装流程做个小结. 最简单的方法就是通过Anaconda来进行安装,facebook官方会不定期的推送 ...

  6. Ubuntu 18.04安装tensorflow with GPU suport

    安装环境: CPU:Intel® Pentium(R) CPU G4400 @ 3.30GHz × 2 GPU:GTX 1060 RAM:8G OS:Ubuntu 18.04 64-bit 1. 安装 ...

  7. pp-tracking ubuntu 18.04使用GPU推理出现Segmentation fault

    目录 1. 报错 2. 报错原因 3. conda环境指定cuda 10.2和cudnn 7.6.5 3.1. 安装cuda 10.2 3.2. 安装cudnn 7.6.5 3.3. conda环境指 ...

  8. 在双GPU(核显+NVIDIA)计算机中正确安装Ubuntu 18.04下的NVIDIA驱动程序(解决循环登录等问题)

    目录 前三次安装:各种坑 第一次安装:CUDA可用,但无法启动Steam 第二次安装:遇到循环登录问题 第三次安装:CUDA可用,可以启动Steam,但3D性能差 第四次安装:CUDA可用,Steam ...

  9. UCloud Ubuntu 18.04 配置GPU环境踩坑指南,包括驱动,CUDA,Docker,Nvidia-Docker等

    设备:NVIDIA Corporation GV100GL [Tesla V100 PCIe 16GB] (rev a1) # Ucloud Ubuntu 18.04 GPU 环境 Driver,Cu ...

  10. 真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)【转】...

    本文转载自:https://blog.csdn.net/u010801439/article/details/80483036 ubuntu 18.04 安装GPU +CUDA+cuDNN : 目前, ...

最新文章

  1. python库开源网站_开源Python库
  2. 2016-1-4作业
  3. C++中比较大小的表达式中,小于号和大于号都是不能连着打的,要用连接起来
  4. 2020港澳台iptv直播软件_用什么便签软件准时提醒开学第一课2020直播开始?
  5. @总结 - 4@ 多项式的多点求值与快速插值
  6. MongoDB的地理位置索引
  7. gamma校正_什么是Gamma校正?
  8. 深度梳理这10个国家的AI发展战略
  9. Azure App Service 如何在第一时间用上最新版 .NET Core
  10. 基于域名或URL路径进行转发
  11. 一项一项教你测等保2.0——Windows入侵防范
  12. mybatis注册映射文件
  13. QTtabbar只有几个选项, 没有“Qttabar”这个选项
  14. 10 QT - 自定义信号和槽
  15. 使用jQuery实现轮播图
  16. ArcGIS JS之 identify接口之 exceededTransferLimit属性
  17. 英语考研——目的状语从句
  18. 深入理解8583协议
  19. php请求纯文本,php – 使用纯文本回退发送HTML简报
  20. 北京大学计算机学院推免生名单,2014年北京大学软微学院保研录取名单

热门文章

  1. 华为 常用的查看命令
  2. 平安科技java机试题_2017年华为优招机试题_平安果_编程题
  3. 高德地图自定义定位当前位置按钮
  4. 两个PB下使用的OfficeXP/2003风格工具栏控件
  5. 万字讲解WiFi为何物
  6. Linux之进程管理——查看进程
  7. 名词用作动词举例_动词+名词-动词加名词-名词作动词
  8. PLC的IO点位是什么意思
  9. Python函数不定长参数之*args与**kwargs
  10. 实验二 Linux下Vi编辑器的使用