在 CentOS 7.6 上快速部署 CUDA、cuDNN、tensorflow-gpu 运行环境

原文链接: 在 CentOS 7.6 上部署 CUDA、cuDNN、tensorflow-gpu 运行环境 | 逍遥游

 

Background

网上关于安装 tensorlfow-gpu 环境的博客可谓是多如牛毛,但是参考了很多篇,都没能成功的在 CentOS 7.6 上把整套环境布置上。折腾了差不多一个礼拜,时间跨度长达几个月,总算是把这一堆装上了,分享一下过程。本文主要目的在于给出一个非常详细的安装过程(从一个全新环境开始后的每一个操作)以及环境配置说明,这样后面的人参考的时候就能根据不同之处快速定位问题。

测试环境

本文中使用的服务器是 Google Cloud 的VPS,下图是详细配置。

  • 系统版本为 CentOS 7.6.1810 (不太确定是不是 minimal,不过没有wget,应该是吧)
  • 挂载了一块 Nvidia K80 显卡

版本选择

因为目的是运行tensorflow程序,所以各个版本都要跟着tf来。目前为止(确切来说是昨天),默认安装的tensorflow-gpu版本是1.12,这个版本也发布了挺久的了,尽量选择新的稳定的。

参照以下链接中的tf版本支持情况,可以看到 1.12 (仅)支持 CUDA 9 和 cuDNN 7,需要注意的是,这里虽然没有写小版本号,但是实际上它支持且仅支持9.0,其他版本会出现找不到so库的错误。

Tested build configurations

所以 CUDA 版本选择 9.0,cuDNN 选择 7.0 版本。

即便您的版本跟环境都相同,也不建议直接复制粘贴命令,因为随着时间流逝,很多文件名都已变化

本文最后更新于 20190305,如果按照文中步骤出现错误,可以通过邮件联系我。

安装 Nvidia GPU 驱动

各个教程都建议通过cuda安装包来安装驱动,但是测试了很多次都没有成功,反复出现

NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

这个错误,试了网上很多诸如禁用nouveau模块、安装kernel包,都没有解决这个问题,安装cuda9.2倒是能成功运行,可坑爹的tensorflow只认9.0版本啊!

后来尝试单独安装Nvidia driver,发现是完全OK的,只要跟cuda版本兼容就行。所以本教程中Nvidia驱动是单独安装的,此外单独安装还有另外一个原因:后期准备在docker里运行程序,宿主机上只安装必需的程序。

首先,点击链接,选择相关的参数,没有给出CentOS的选项,所以选了Linux 64-bit RHEL7,然后搜索进入下载页面,点击下载,同意并继续,然后在浏览器下载队列里复制文件下载链接。

Download Drivers

我的是http://us.download.nvidia.com/tesla/384.183/nvidia-diag-driver-local-repo-rhel7-384.183-1.0-1.x86_64.rpm

连上服务器,切换到root用户,首先下载文件。

sudo su

# 如果没有wget,先安装
yum install -y wget

wget http://us.download.nvidia.com/tesla/384.183/nvidia-diag-driver-local-repo-rhel7-384.183-1.0-1.x86_64.rpm

然后安装驱动,会自动装上一些依赖,如dkms什么的。

rpm -i nvidia-diag-driver-local-repo-rhel7-384.183-1.0-1.x86_64.rpm

yum clean all

yum install -y cuda-drivers

安装完毕之后输入 nvidia-smi 命令,不出意外就能看见输出了。

驱动安装完毕,还是挺简单的,没有网上那么复杂的安装和修改模块啥的。

如果只想在docker里使用GPU,后面的CUDA和cuDNN就都不用安装。

 

 

查看全文:在 CentOS 7.6 上部署 CUDA、cuDNN、tensorflow-gpu 运行环境 | 逍遥游

你可能感兴趣的:(在 CentOS 7.6 上快速部署 CUDA、cuDNN、tensorflow-gpu 运行环境)