Cuda9.0安装
CUDA 9.0安装笔记
最近实验室新购买两块K80的GPU。作为好奇的小猪,当然会自报奋勇去配置环境。在这篇博客中将会介绍在centos7下配置CUDA 9.0的步骤。
1. 什么是CUDA?
引用官方介绍
CUDA® is a parallel computing platform and programming model invented by NVIDIA. It enables dramatic increases in computing performance by harnessing the power of the graphics processing unit (GPU).
通过这句话可以了解到,CUDA是一个由NVIDIA公司发明的并行计算平台和编程模型。它利用图形处理单元(GPU)的强大功能,使计算性能大幅提高。
cuda主要具有以下两个方面的作用:
- 提供向C这样的标准语言的扩展,从而实现并行算法的简单实现。通过使用CUDA C/C++可以是编程人员专注于算法的并行化而不是程序本身的实现
- 支持应用程序同时使用CPU和GPU进行异构计算。应用程序的串行部分运行在CPU上,并行部分则运行在GPU上。
总之,CUDA为我们提供了操作GPU的high level接口,通过调用这接口可以简化程序的编写过程。
2. 安装环境介绍
| 项目 | - |
|---|---|
| 操作系统 | CentOS Linux release 7.4.1708 (Core) |
| 内核版本 | 3.10.0-693.5.2.el7.x86_64 |
| 内存 | 128GB |
| 硬盘 | 6TB |
| 运算卡 | K80 |
3. 安装CUDA 9.0
安装CUDA 9.0分为两步:1、安装依赖环境 2、安装CUDA 9.0。
3.1. 安装依赖环境
通过lspci | grep -i nvidia查看机器是否已经识别出GPU卡。如果没有显示GPU卡,则需要运行update-pciids更新一下。

通过运行gcc --version检测本机是否已经安装了gcc 4.8.5。如果没有安装gcc 4.8.5则通过yum install gcc gcc-c++进行安装。
安装kernel headers和相关开发包
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
好,到现在为止依赖环境已经安装的差不多了。
3.2. 安装CUDA 9.0
CUDA具有两种安装方式:
- distribution-specific packages方式,可以和系统的原生库管理系统对接
- distribution-independent package方式,适应更多的Linux系统,不过不更新系统的原生库管理系统
本猪猪比较好奇,所以两种方法都进行了测试,所以接下来将会分别介绍两种安装方式。
如果你的机器以前安装过CUDA,则需要将老版本的CUDA卸载掉,下面是卸载方式。因为本猪猪用的是崭新的机器,所以就先跳过这一步啦。
# 1. 通过runfile方式安装的
# 卸载cuda toolkit
sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl
# 卸载NVIDIA 驱动
sudo /usr/bin/nvidia-uninstall
# 2. 通过RPM/Deb方式安装的
sudo yum remove cuda* #Redhat/CentOS
sudo apt-get --purge remove cuda* #Ubuntu
3.2.1. distribution-specific packages方式
1、安装DKMS依赖:
从fedoraproject上面下载DMKS安装包,Centos7 对应的安装包路径为http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/d/dkms-2.4.0-1.20170926git959bd74.el7.noarch.rpm。
安装DKMS依赖yum install -y elfutils-libelf-devel。
安装DKMS包rpm -ivh dkms-2.4.0-1.20170926git959bd74.el7.noarch.rpm。
2、安装元数据包源:
下载地址:cuda-repo-rhel7-9.0.176-1.x86_64.rpm)
安装:sudo rpm -ivh cuda-repo-rhel7-9.0.176-1.x86_64.rpm
3、更新元数据
sudo yum clean expire-cache
sudo yum update
4、安装CUDA
直接运行一下命令进行安装,当然如果你不放心的话,可以先执行sudo yum info cuda查看CUDA包的相关信息。
sudo yum install cuda
sudo yum update cuda-drivers
好啦,现在已经安装成功啦!
运行nvidia-smi查看显卡信息,试试?

运行cat /usr/local/cuda/version.txt查看CUDA版本,试试?

3.2.2. distribution-independent package方式
抱歉了各位,本猪猪有些累了,需要休息系。稍后再来补充。
参考文档
Cuda9.0安装的更多相关文章
- Ubuntu16.04+cuda9.0安装教程
1.安装NVIDIA驱动 首先去官网(http://www.nvidia.cn/Download/index.aspx?lang=cn)查找适配自己电脑GPU的驱动,我的电脑驱动版本如下: 执行如下语 ...
- win10+py3.6+cuda9.0安装pytorch1.1.0
参考:清华源失效后如何安装pytorch1.01 GPU版本的安装指令为: conda install pytorch torchvision cudatoolkit=9.0 -c pytorch 这 ...
- Ubuntu18.04+CUDA9.0+cuDNN7.1.3+TensorFlow1.8 安装总结
Ubuntu18.04发行已经有一段时间了,正好最近Tensorflow也发布了1.8版本,于是决定两个一起装上,以下是安装总结,大致可 以分为5个步骤 确认当前软件和硬件环境.版本 更新显卡驱动,软 ...
- win10+Anaconda3+CUDA9.0+CUDNN7.1+TensorFlow-gpu1.9+Pycharm
想在win10上运行下YOLO的例子,要先配置环境,折腾了两天,终于好了,整理下自己觉得有用且正确的流程. win10+Anaconda3+CUDA9.0+CUDNN7.1+TensorFlow1.9 ...
- Ubuntu 18.04 RTX2080(ti) + tensorflow-gpu + cuda9.0 + gcc5 兼容性问题解决
0.下载display driver.cuda和cudnn RTX2080 Display Driver cuda cudnn 1. 禁止系统默认的显卡驱动 打开系统黑名单 sudo gedit /e ...
- Ubuntu16.04安装cuda9.0+cudnn7.0
Ubuntu16.04安装cuda9.0+cudnn7.0 这篇记录拖了好久,估计是去年6月份就已经安装过几遍,然后一方面因为俺比较懒,一方面后面没有经常在自己电脑上跑算法,比较少装cuda和cudn ...
- 深度学习环境搭建(ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn+其他软件)
一.硬件环境 ubuntu 16.04LTS + windows10 双系统 NVIDIA TiTan XP 显卡(12G) 二.软件环境 搜狗输入法 下载地址 显卡驱动:LINUX X64 (AMD ...
- 深度学习环境配置:Ubuntu16.04安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)
本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...
- 安装Cuda9.0+cudnn7.3.1+tensorflow-gpu1.13.1
我的安装版本: win10 x64 VS2015 conda python 3.7 显卡 GTX 940mx Cuda 9.0 cudnn v7.3.1 Tensorflow-gpu 1.13.1 1 ...
随机推荐
- 六十五:CSRF攻击与防御之CSRF防御之form表单防御
防御原理,将csrf_token放到session中,再将session放到cookie中 实现: from flask_wtf import CSRFProtect # flask_wtf 已经提供 ...
- 如何在终端使用后台运行模式启动一个Linux应用程序
这是一个篇幅不长但是十分有用的教程,可以帮助你在终端启动一个Linux应用程序,并且使终端窗口不会丢失焦点. 我们有很多可以在Linux系统中打开一个终端窗口的方法,这取决于你的选择以及你的桌面环境. ...
- 配置文件c3p0-config.xml
<c3p0-config> <!-- 使用默认的配置读取连接池对象 --> <default-config> <!-- 连接参数 --> <pro ...
- 自定义 filter simple_tag inclusion_tag 总结
在已经注册的app下创建templatetags的python包 在包内创建py文件 my_tags.py 在py文件中写代码: from django import template registe ...
- (转)python基础学习-----生成器和迭代器
在Python中,很多对象都是可以通过for语句来直接遍历的,例如list.string.dict等等,这些对象都可以被称为可迭代对象.至于说哪些对象是可以被迭代访问的,就要了解一下迭代器相关的知识了 ...
- [python] super() 用法
问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如下: class A: def __init__(self): print & ...
- 21天学通Python课后实验题4.6
21天学通Python课后实验题4.6 1. 编程实现用户输入一门课程的两门子课程成绩,第一门子课程60分以上,则显示“通过”,第一门子课程不及格,则显示“未通过”,第一门子课程及格,而第二门子课程不 ...
- Python中的 _init__和 _new__的区别
使用python 的面向对象写过程序之后,相信童鞋对 __init__ 方法已经非常的熟悉了.这个方法通常是 在初始化一个实例的时候使用的. 例如: class MysqlConnector(obje ...
- Maven简单项目及命令使用
项目结构如下 HelloWorld.java package pak1; public class HelloWorld { public String sayHello(){ return &quo ...
- Spring添加声明式事务
一.前言 Spring提供了声明式事务处理机制,它基于AOP实现,无须编写任何事务管理代码,所有的工作全在配置文件中完成. 二.声明式事务的XML配置方式 为业务方法配置事务切面,需要用到tx和aop ...