Ubuntu16.04下nvidia驱动+nvidia-docker+cuda9+cudnn7安装
一、宿主机安装nvidia驱动
打开终端,先删除旧的驱动:
sudo apt-get purge nvidia*
禁用自带的 nouveau nvidia驱动
sudo gedit /etc/modprobe.d/blacklist.conf
看下Nouveau是否已经被禁用
lsmod | grep nouveau
如果已经没有任何显示说明不用禁用了,否则继续下面操作
sudo vim /etc/modprobe.d/blacklist-nouveau.conf #创建一个文件(注:按一下i键,表示现在进行内容插入)
并添加如下内容:
blacklist nouveau
options nouveau modeset=0
注:退出可用两个命令中任意一个:
按完esc键后,按shift+zz 或者
按完esc键后,输入“:wq!”双引号里面的内容
再更新一下:
sudo update-initramfs –u
确认下Nouveau是已经被禁用:
lsmod | grep nouveau
没有输出什么东西,说明已经成功关闭了。
关闭X-window服务:
Ctrl+Alt+F1切换到无桌面命令终端:这里lightdm是你自己的显示管理器,也可能是gdm,kdm,到底是哪一个可以使用 cat /etc/X11/default-display-manager进行查看,然后修改,并关闭显示管理器。这里下面几小步建议用手机拍照,对着照片来做,因为你可能不太熟悉
sudo service lightdm stop
此时正式进入终端界面:
Login:用户账号
Password:用户密码
安装:
cd /home/wlh/tmp # 导到你的下载的驱动放在哪里的地址
sudo sh NVIDIA-Linux-x86_64-387.12.run
按照如下步骤安装:
(1)accept
(2)contiuned install
后面默认yes安装就好了
启动显示器:(lightdm只是我的显示管理器,你可能是前面的说的gdm)
sudo service lightdm start
然后按Ctrl+Alt+F7 进入到桌面进行操作
检查是否成功
nvidia-smi
二、docker安装
下载地址:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/
containerd.io_1.2.5-1_amd64.deb
docker-ce-cli_18.09.4_3-0_ubuntu-xenial_amd64.deb
docker-ce_18.09.4~3-0~ubuntu-xenial_amd64.deb
dpkg -i containerd.io_1.2.5-1_amd64.deb
dpkg -i docker-ce-cli_18.09.4_3-0_ubuntu-xenial_amd64.deb
dpkg -i docker-ce_18.09.4~3-0~ubuntu-xenial_amd64.deb
使用 docker 命令试试安装成功没有。
建立 docker 组:
$ sudo groupadd docker
将当前用户加入 docker 组:
$ sudo usermod -aG docker $USER
三、nvidia docker安装
If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f sudo apt-get purge -y nvidia-docker
Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \ sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \ sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update
执行下载5个命令,下载5个包到当前目录,拷贝这些包到服务器上。
apt download libnvidia-container1
apt download libnvidia-container-tools
apt download nvidia-container-runtime-hook
apt download nvidia-container-runtime
apt download nvidia-docker2
在服务器上执行,dpkg -i libnvidia nvidia 即可一次安装这5个包。
Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
四、安装cuda9.0
首先去官网下载cuda9.0, 下载那个1.6G的.run文件,下载完毕就可以正式安装了。
进入下载目录,给文件添加运行权限:
chmod +x ./cuda_9.0.176_384.81_linux.run
运行安装
sudo ./cuda_9.0.176_384.81_linux.run
启动安装程序,一直按空格到最后(可以选择Ctrl+c跳过),不用担心,到99%的时候,输入accept接受条款
注意:第一个提醒你是否安装驱动时,选“n”,其余都“y”
安装完毕后就需要添加环境了,这步很重要!!!
gedit ~/.bashrc
把下面的内容添加到最后:
export CUDA_HOME=/usr/local/cuda export PATH=$PATH:$CUDA_HOME/bin export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
测试是否安装成功
nvcc -V
五、安装cudnn7
下载完直接解压,解压会出现一个cuda文件夹,里面有两个文件include 和 lib64,把里面的文件copy到/usr/local/cuda/里面相应的目录里。 如果你就在local下解压的就不要移动了。只需要给文件加读权限即可!
sudo chmod a+x /usr/local/cuda/include/cudnn.h sudo chmod a+x /usr/local/cuda/lib64/libcudnn*
然后更新网络连接:
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.0.5 # 自己查看.so的版本
sudo ln -sf libcudnn.so.7.0.5. libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig
查看cudnn版本,检查是否安装好:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
六、加载打包的镜像
$ docker load<jq_tensorflow1.8-cuda9.0-cudnn7-devel-ubuntu16.04.tar
七、启动容器
docker run --runtime=nvidia -it -v /home/dock/Downloads:/usr/Downloads name /bin/bash
启动报错解决办法:
Systemd drop-in file sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF [Service] ExecStart= ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=nvidia=/usr/bin/nvidia-container-runtime EOF sudo systemctl daemon-reload sudo systemctl restart docker Daemon configuration file sudo tee /etc/docker/daemon.json <<EOF { "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } } } EOF sudo pkill -SIGHUP dockerd 再去开启镜像,done。
八、配置容器内环境
容器后台运行退出命令:CTRL+p+q
后台容器重新进入命令:docker exec -it [container id] /bin/bash
Ubuntu16.04下nvidia驱动+nvidia-docker+cuda9+cudnn7安装的更多相关文章
- Ubuntu16.04下搜狗输入法、Sublime Text 3的安装
Ubuntu16.04下搜狗输入法.Sublime Text 3的安装 一.搜狗输入法 1. 安装中文语言 默认在Ubuntu16.04下是没有中文的,需要安装中文,在System Settings- ...
- 服务器重装和配置:Ubuntu16.04 + Anaconda3 + GTX1080驱动 + CUDA8 + cuDNN + 常用工具安装
前一篇[基于Ubuntu16.04的GeForce GTX 1080驱动安装,遇到的问题及对应的解决方法]是在机器原有系统上安装GPU驱动,后来决定备份数据后重装系统,让服务器环境更干净清爽. 1.安 ...
- ubuntu16.04下使用navicat连接docker mysql5.7.20
摘要: 本文将介绍如何使用docker创建mysql容器,并使用navicat连接该mysql服务,最后提供一个navicat中文乱码问题的解决方案. docker的安装和使用在这里不再赘述,如果不是 ...
- Ubuntu16.04下使用ufw保护docker容器
ufw屏蔽服务器非docker容器应用端口没有任何问题.问题出在屏蔽不了容器应用对应端口.排除了"ufw使用不当"."docker-compose.yml端口映射不正 ...
- 沈逸老师ubuntu速学笔记(2)-- ubuntu16.04下 apache2.4和php7结合编译安装,并安裝PDOmysql扩展
1.编译安装apache2.4.20 第一步: ./configure --prefix=/usr/local/httpd --enable-so 第二步: make 第三步: sudo make i ...
- Ubuntu16.04下配置pip国内镜像源加速安装【转】
本文转载自:https://blog.csdn.net/yucicheung/article/details/79095742 问题描述 基于国内网速的问题,我们直接pip安装包通常速度非常慢,而且经 ...
- 深度学习环境配置:Ubuntu16.04下安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)
本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- ubuntu16.04下docker安装和简单使用(转)
ubuntu16.04下docker安装和简单使用 转自:https://www.cnblogs.com/hupeng1234/p/9773770.html 前提条件 操作系统 docker-ce ...
- Ubuntu16.04下安装多版本cuda和cudnn
Ubuntu16.04下安装多版本cuda和cudnn 原文 https://blog.csdn.net/tunhuzhuang1836/article/details/79545625 前言 因为之 ...
随机推荐
- PHP SPL扩展库简单使用
1. __autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数.看下面例子: ./myClass.php <?php class myClass { ...
- JavaScript中闭包的使用和各种继承介绍
一.什么是闭包? (1)闭包的概念:a.闭包就是函数嵌套时,让局部变量变成自由变量的环境,是一种让局部变量进化的方式. b.定义在一个函数内部的函数. ...
- 常用css总结
个人博客: https://chenjiahao.xyz 1.让网站快速变灰 html { filter: grayscale(100%);//IE浏览器 -webkit-filter: graysc ...
- Nebula 架构剖析系列(一)图数据库的存储设计
摘要 在讨论某个数据库时,存储 ( Storage ) 和计算 ( Query Engine ) 通常是讨论的热点,也是爱好者们了解某个数据库不可或缺的部分.每个数据库都有其独有的存储.计算方式,今天 ...
- [ASP.NET Core 3框架揭秘] 依赖注入:控制反转
ASP.NET Core框架建立在一些核心的基础框架之上,这些基础框架包括依赖注入.文件系统.配置选项和诊断日志等.这些框架不仅仅是支撑ASP.NET Core框架的基础,我们在进行应用开发的时候同样 ...
- Java容器总结
容器总结 Java容器工具包框架图 List,Set,Map三者的区别 List(对付顺序的好帮手): List接口存储一组不唯一(可以有多个元素引用相同的对象),有序的对象 Set(注重独一无二的性 ...
- Liang-Barsky算法
Liang-Barsky算法 在Cohen-Sutherland算法提出后,梁友栋和Barsky又针对标准矩形窗口提出了更快的Liang-Barsky直线段裁剪算法. 梁算法的主要思想: (1)用参数 ...
- python selenium自动化常用关键字
工具安装: 1.安装python 2.安装selenium库(dos命令下进入selenium-2.53.2存放路径,执行pip install selenium-2.53.2) 3.将浏览器驱动放到 ...
- 设置Linux支持中文
1.首先在command输入locale,可以看到Linux下默认的系统语言的是英文 2.vim ~/.bashrc打开这个文件,该文件夹相当于系统配置文件 3.打开后,将后三行命令输入到文档中,最后 ...
- .net工作流引擎ccflow开发平台属性功能的隐藏显示介绍
关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明 工作流设计 工作流快速开发平台 业务流程管理 bpm工作流系统 java工 ...