Sometimes people don't need advice, they just need someone to listen and care.
Toggle navigation
Home
Archives
Tags
About
Centos 7 安装 Nvidia GPU 驱动及 CUDA
2019-04-04 08:02:46
5454
0
0
william
## 安装准备 ### 前提机器上面有支持CUDA的Nvidia GPU,查看支持CUDA的GPU列表: [https://developer.nvidia.com/cuda-gpus](https://developer.nvidia.com/cuda-gpus) ```bash lspci | grep -i nvidia ``` 我这边服务器使用的是 `Tesla K80` ```bash 09:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1) 0a:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1) ``` ### 验证系统是否是受支持的Linux版本 ```bash uname -m && cat /etc/redhat-release ``` 到这里查看受支持的Linux版本:[http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements](http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements) ### 验证系统是否有GCC编译环境 ```bash gcc -v ``` 没有的话需要先安装GCC,Centos7的最小化安装一般勾选上开发软件都会自动安装GCC - 验证系统是否安装了正确的内核头文件和开发包 ```bash sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) ``` ## 开始安装 ### 禁用nouveau nouveau是一个第三方开源的Nvidia驱动,一般Linux安装的时候默认会安装这个驱动。 这个驱动会与Nvidia官方的驱动冲突,在安装Nvidia驱动和和CUDA之前应先禁用nouveau 查看系统是否正在使用nouveau ```bash lsmod | grep nouveau ``` 如果有显示内容,则进行以下的步骤: Centos7禁用方法 ```bash #新建一个配置文件 sudo vim /etc/modprobe.d/blacklist-nouveau.conf #写入以下内容 blacklist nouveau options nouveau modeset=0 #保存并退出 :wq #备份当前的镜像 sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak #建立新的镜像 sudo dracut /boot/initramfs-$(uname -r).img $(uname -r) #重启 sudo reboot #最后输入上面的命令验证 lsmod | grep nouveau ``` ### 安装驱动 GPU 云服务器正常工作需安装正确的基础设施软件,对 NVIDIA 系列 GPU 而言,有两个层次的软件包需要安装: - 驱动 GPU 工作的硬件驱动程序。 - 上层应用程序所需要的库。 若把 NVIDIA GPU 用作通用计算,需要安装 Tesla Driver + CUDA。 #### rpm 包安装 1.打开 NVIDIA 驱动下载链接 [http://www.nvidia.com/Download/Find.aspx](http://www.nvidia.com/Download/Find.aspx) 。 2.选择支持 RPM 包的操作系统,并获取该 RPM 包的下载链接。例如:选择 CentOS 7.x, 得到下载链接:[https://www.nvidia.com/content/DriverDownload-March2009/confirmation.php?url=/tesla/396.82/nvidia-diag-driver-local-repo-rhel7-396.82-1.0-1.x86_64.rpm&lang=us&type=Tesla](https://www.nvidia.com/content/DriverDownload-March2009/confirmation.php?url=/tesla/396.82/nvidia-diag-driver-local-repo-rhel7-396.82-1.0-1.x86_64.rpm&lang=us&type=Tesla)  按照提示下载并安装驱动  3.使用`rpm`命令安装 rpm 包。 ```bash rpm -i nvidia-diag-driver-local-repo-rhel7-396.82-1.0-1.x86_64.rpm ``` 4.使用`yum`命令清除缓存。 ```bash yum clean all ``` 5.使用yum命令安装驱动。 ```bash yum install cuda-drivers ``` 6.重启机器 ```bash reboot ``` 7.运行`nvidia-smi`能输出正确信息代表驱动安装成功。 ### 安装 CUDA CUDA (Compute Unified Device Architecture) 是显卡厂商 NVIDIA 推出的运算平台。 CUDA™ 是一种由 NVIDIA 推出的通用并行计算架构,该架构使 GPU 能够解决复杂的计算问题。 它包含了 CUDA 指令集架构(ISA)以及 GPU 内部的并行计算引擎。 开发人员现在可以使用 C 语言, C++ , FORTRAN 来为 CUDA™ 架构编写程序,所编写出的程序可以在支持 CUDA™ 的处理器上以超高性能运行。 GPU 云服务器采用 NVIDIA 显卡,需要安装 CUDA 开发运行环境。 1.CUDA驱动下载[https://developer.nvidia.com/cuda-75-downloads-archive](https://developer.nvidia.com/cuda-75-downloads-archive) 。 2.选择操作系统和安装包。以 CentOS 7.2 64 位为例,可按如下方式进行选择:  需要下载 Base 以及 Patch  按照下载地址下载到服务器上 3.在 CUDA 安装包所在目录下运行如下命令: ```bash sudo rpm -i cuda-repo-rhel7-9-2-local-9.2.148-1.x86_64.rpm sudo yum clean all sudo yum install cuda ``` 4.在 `/usr/local/cuda/samples/1_Utilities/deviceQuery` 目录下,执行 `make` 命令,可以编译出 `deviceQuery` 程序。 5.执行 `deviceQuery` 正常显示如下设备信息,此刻认为 `CUDA` 安装正确。  ### 安装 CUDNN - [下载](https://developer.nvidia.com/rdp/cudnn-archive) cudnn >需要注册为开发者方可下载。 解压后执行 ```bash sudo cp cuda/include/cudnn.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* ``` - 验证 ```bash git clone https://github.com/wilhelmguo/cudnn_samples_v7.git cd cudnn_samples_v7/mnistCUDNN make ./mnistCUDNN ``` 如果已经正确安装则会输出以下提示  > 如果输出以下提示: > ```bash > ./mnistCUDNN: error while loading shared libraries: > libcudnn.so.7: cannot open shared object file: No > > such file or directory > ``` > 执行 `ldconfig /usr/local/cuda/lib64` 后重新运行即可
Pre:
Kubernetes工作问题总结
Next:
Kubernetes 多集群管理平台 Wayne v1.5.0 版本正式发布(完全代替官方dashbord)
0
likes
5454
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Please enable JavaScript to view the
comments powered by Disqus.
comments powered by
Disqus
Table of content