深度学习服务器环境配置:Ubuntu16.04+NVIDIA Tesla P40显卡驱动

1. 准备工作

在服务器上安装完Ubuntu16.4,需要安装显卡驱动,否则GPU显卡没有用上。

在待安装驱动的主机上打开一个终端(Ctrl+Alt+T),或者直接切换到终端界面(Ctrl+Alt+F1),输入账号密码登录后,输入如下命令关闭图形界面:

$sudo service lightdm stop

然后,卸载nvidia显卡驱动。注意此时千万不能重启,重新电脑可能会导致无法进入系统。

卸载可能存在的旧版本NVIDIA驱动(对没有安装过NVIDIA驱动的主机,这步可以省略,但推荐执行,无害):

$sudo apt-get autoremove --purge nvidia-*

安装驱动可能需要的依赖(可选。我只执行了第一条命令):

$sudo apt-get update

$sudo apt-get install dkms build-essential linux-headers-generic

把nouveau驱动加入黑名单:

新建配置文件blacklist-nouveau.conf,输入命令:  
$sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在文件blacklist-nouveau.conf中加入如下内容:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

保存并退出。这一步是为了禁掉Ubuntu自带的开源驱动nouveau。之后sudo reboot -h now重启系统。在需要输入账号、密码的登录界面按Ctrl+Alt+F1键,在命令提示符下输入账号、密码登录,然后输入:

lsmod | grep nouveau

查看nouveau模块是否被加载,如果什么都没有输出,则执行下一步。

2. 安装驱动

可以先查看下GPU型号:

lspci | grep -i nvidia

显示如下:

142614_KtAC_614348.png

然后查看NVIDIA驱动版本:

sudo dpkg --list | grep nvidia-*

显示如下:

142743_Gvvo_614348.png

然后开始安装驱动,执行如下语句,安装显卡Tesla P40对应的显卡驱动:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-384

这里有个插曲,我在英伟达官网查到的操作系统Linux16.04+显卡NVIDIA Tesla P40对应的显卡驱动是NVIDIA-384.66,即nvidia-diag-driver-local-repo-ubuntu1604-384.66_1.0-1_amd64.deb。但是下载下来之后,装不上,于是我选择用上述方法来安装,这个方法安装的是384.的哪个版本是由操作系统指定的。

在Ubuntu新发行版中将原有陈旧的resolv.conf文档做为DNS解析服务器地址进行更改。修改/etc/resolv.conf只能临时指定DNS服务器,如果重启服务器,系统会重置/etc/resolv.conf文件。可以通过以下两种方式添加永久DNS。

1、修改network配置文件(/etc/network/interfaces)

将DNS信息直接添加到网卡配置文档里

  1. iface eth0 inet static 
  2. address 192.168.0.100 
  3. netmask 255.255.255.0 
  4. gateway 192.168.0.1 
  5. dns-search example.com 
  6. dns-nameservers 192.168.0.1 8.8.8.8 

重启networking服务后即可正常访问

sudo /etc/init.d/networking restart 

2、修改/etc/resolvconf/rosolv.conf.d/base文件

在base文件里添加以下参数

nameserver 8.8.8.8 

然后让resolvconf重新修改resolv.conf 以上两种方式任选一种即可正常解析域名。

sudo resolvconf -u 

我重新配置固定ip后装的时候,由于没用上述红字中的第二步设定dns,所以这句话sudo add-apt-repository ppa:graphics-drivers/ppa总执行失败。

执行完上述命令后,重启:

sudo reboot -h now

重启后输入: 

nvidia-smi

如果出现了你的GPU列表,则说明驱动安装成功了。我的GPU列表如图所示:

我的容天SCS4850:

143202_l0O5_614348.png

我的容天SCS4450:

111751_ImAP_614348.png

另外也可以通过:

nvidia-settings

查看自己机器上详细的GPU信息。

另外也可以通过:

cat /proc/driver/nvidia/version

查看自己机器上显卡的信息,本次在SCS4850上安装的显卡驱动的信息如下:

122906_lbwJ_614348.png

转载于:https://my.oschina.net/wangsifangyuan/blog/1574759

版权声明:本文为weixin_33734785原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33734785/article/details/92711990

智能推荐

(Java)反射的应用 - 取得类的结构

文章目录 一、基本概念 二、取得所实现的全部接口 三、取得父类 四、取得全部构造方法 五、取得全部方法 六、取得全部属性 一、基本概念 在反射机制中,还可以通过反射得到一个类的完整结构,这就需要使用 java.lang.reflect 包中的以下几个类: 这三个类都是 AccessibleObject 类的子类: 二、取得所实现的全部接口 要取得一个类所实现的全部接口,必须使用 Class 类中的...

ORM-外键关联基本使用

外键 在Mysql中,外键可以让表之间关系变得更加紧密, 在SQlAlchemy中, 通过ForeignKey类来实现,并且可以指定表的外键约束 FroeignKey的导入 在从表中条件一个模型类.字段(属性)即可 外键关联的代码和示例图 图说明 外键约束的删除 如果删除了主表中的数据, 从表的数据会怎么样? 需要设置 "RESTRICT" : 主表数据被删除, 会阻止删除 &...

放大镜效果

首先先写html样式 接下来是css部分 js部分 效果图...

Linux操作心得(1)

Ubuntu 16.04 (1)今天遇到一个蜜汁尴尬的情况,一本书上的示例,要求我建一个文件夹及子文件夹,然而明明创建的文件却没有显示 按书上此时应该出现一个文件夹,但并没有: 但可以进入,作为小白看不懂,后来发现是因为/XX指的是将文件建立在根目录了,因此不管怎样,就算用ls,或ll命令都查不到的,此时正确方法应该是去掉/backup前的/,如图就解决了文件夹的创建过程,还有一种傻瓜式方法就是直...

如何写出优美的 JavaScript 代码?

作者:尹锋 链接:https://www.zhihu.com/question/20635785/answer/223515216 1,避免使用 js 糟粕和鸡肋 这些年来,随着 HTML5 和 Node.js 的发展,JavaScript 在各个领域遍地开花,已经从“世界上最被误解的语言”变成了“世界上最流行的语言”。但是由于历史原因,JavaSc...

猜你喜欢

07-zookeeper的watcher机制原理

zookeeper的watcher机制原理 Watcher 的基本流程 zookeeper的watcher机制,总的来说可以分为三个过程: 客户端注册Watcher。 服务器处理Watcher。 客户端回调Watcher。 客户端注册 watcher有3种方式,getData、exists、getChildren。以如下代码为例,来分析整个触发机制的原理 基于zkclient客户端发起一个数据操作...

Linux搭建Nexus私服

Nexus是什么 Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。简单来说,它就是我们自己维护管理的maven仓库,仅限本人或公司内部使用,他人...

【Elastic Stack上】Elastic Search快速入门,让你对ELK日志架构不再困惑

课程介绍 Elastic Stack简介 Elasticsearch的介绍与安装 Elasticsearch的快速入门 Elasticsearch的核心讲解中文分词 全文搜索 Elasticsearch集群 Java客户端讲解 1、Elastic Stack简介 如果你没有听说过Elastic Stack,那你一定听说过ELK,实际上ELK是三款软件的简称,分别是Elasticsearch、Log...

浅谈Java中==和equals()区别

Java基础 浅谈Java中==和equals()区别 == 运算符 equals(): 方法 浅谈Java中==和equals()区别 == 运算符 可以使用在基本数据类型变量和引用数据类型变量中 如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等(不一定要类型相同) 如果比较的是引用类型变量,比较的是两个变量的地址值是否相同,即两个引用是否指向同一个对象实体 equals(): 方法...

Python-基础课-第一节-03-Python环境搭建

3.1Python环境搭建 Python是一个跨平台、可移植的编程语言,因此可在windows、Linux和Mac OS X系统 中安装使用。 安装完成后,你会得到Python解释器环境,可以通过终端输入python命令查看本地 是否已经按照python以及python版本。这里有一点需要注意的是,如果没有将 python的安装目录添加到环境变量中,会报错(python不是内部命令或外部命令, 也...