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 前言 因为之 ...
随机推荐
- 数据的异构实战(一) 基于canal进行日志的订阅和转换
什么是数据的异构处理.简单说就是为了满足我们业务的扩展性,将数据从某种特定的格式转换到新的数据格式中来. 为什么会有这种需求出现呢? 传统的企业中,主要都是将数据存储在了关系型数据库中,例如说MySQ ...
- ORM查询2
目录 十三式 2式(针对外键查询优化) select_related和prefetch_related prefetch_related 查询返回值类型 不等式查询 关键字查询 时间查询 跨表查询 组 ...
- parse_args(argsparse):python和命令行之间的交互
初始化 假设我们创建一个“argp.py”的文件. import argparse # 引入模块 # 建立解析对象 parser = argparse.ArgumentParser() parser. ...
- 面试常考各类排序算法总结.(c#)
前言 面试以及考试过程中必会出现一道排序算法面试题,为了加深对排序算法的理解,在此我对各种排序算法做个总结归纳. 1.冒泡排序算法(BubbleSort) 1.1 算法描述 (1)比较相邻的元素.如果 ...
- 本人亲测-SSM环境搭建(使用eclipse作为示例,过程挺全的,可作为参考)
本人亲测-SSM环境搭建(使用eclipse作为示例,过程挺全的,可作为参考) 本人亲测-SSM环境搭建(使用eclipse作为示例,过程挺全的,可作为参考) 本人亲测-SSM环境搭建(使用eclip ...
- selenium3与Python3实战 web自动化测试框架 ☝☝☝
selenium3与Python3实战 web自动化测试框架 selenium3与Python3实战 web自动化测试框架 学习 教程 一.环境搭建 1.selenium环境搭建 Client: py ...
- java高并发----个人学习理解汇总记录
1.首先,需要理解几个概念 1.同步(Synchronous):同步方法调用一旦开始,调用者必须等到前面的方法调用返回后,才能继续后续的行为,依次直到完成所有. 2.异步(Asynchronous): ...
- Web安全之变量覆盖漏洞
通常将可以用自定义的参数值替换原有变量值的情况称为变量覆盖漏洞.经常导致变量覆盖漏洞场景有:$$使用不当,extract()函数使用不当,parse_str()函数使用不当,import_reques ...
- 使用IIS部署网站
使用IIS部署网站的步骤: IIS安装:控制面板->启用或关闭Windows功能->Internet信息服务->应用程序开发功能,勾选.net和asp相关的,和服务器端包含 ASP. ...
- 去除提示“Chrome正在受到自动软件的控制”
现象:用selenium启动浏览器出现‘Chrome正在受到自动软件的控制’ 解决办法:在启动浏览器前加上如下配置 # 加启动配置 option = webdriver.ChromeOptions() ...