300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Ubuntu 16.04 笔记本双显卡安装 CUDA9.0

Ubuntu 16.04 笔记本双显卡安装 CUDA9.0

时间:2021-04-29 12:34:52

相关推荐

Ubuntu 16.04 笔记本双显卡安装 CUDA9.0

Ubuntu 16.04 安装CUDA9.0 笔记本双显卡

由于目前多数Python库对CUDA9.0 支持较全,但是对于CUDA9.1 及更高的支持并不能满足要求,所以推荐安装 List:Ubuntu1604+CUDA9.0+cuDNNv7.1.4+Tensorflow,Pytorch

推荐直接安装CUDA,不采用装驱动+CUDA 的方式

安装过程:Ubuntu安装省略,以下教程适用于刚刚装好的系统

Step0: Check

lspci | grep -i nvidia

Step0.5:Knowledge

Linux 文件权限:以下过程需要经常进行文件的更改,有的需要权限: 开启权限sudo chmod 777 <file>

Step1: Kernel

如果不改kernel的话可能导致 Kernel source not found 问题:

The driver installation is unable to locate the kernel source. Please make sure that the kernel source packages are installed and set up correctly.If you know that the kernel source packages are installed and set up correctly, you may pass the location of the kernel source with the'--kernel-source-path' flag.

# 查看已安装的Linux内核:dpkg --list | grep linux-image# 查看正在使用的Linux内核uname -r# 由于CUDA9.0 编译的环境为Linux-4.4.0,所以如果有安装Linux-4.4.0-*的内核不需安装内核,否则需要安装这个版本的内核# 可安装的内核:sudo apt-cache search linux|grep linux-image# 安装Linux-4.4.0:sudo apt-get install linux-image-4.4.0-31-genericsudo apt-get install linux-headers-4.4.0-31-generic or: sudo apt-get install linux-headers-$(uname -r) #需要进入4.4.0内核中使用,否则没有用# 更改此内核为默认启动内核:sudo gedit /etc/default/grub## 在文档中找到GRUB_DEFAULT=0## 并改为GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-31-generic"##!!Caution: 即使安装好了内核不在这个内核中启动也会导致崩溃,所以,装好后,要在4.4.0内核中进行安装CUDA# install dkmssudo apt-get install dkms

Step2:卸载所有Nvidia有关的驱动

如果不卸载,即使装的驱动是CUDA9.0 要求的更高的版本也会导致问题,不过新的系统可以不用管,

tty1:ctrl+alt+f1sudo service lightdm stopsudo apt-get install autoremove --purge nvidia*

Step3: 安装CUDA9.0

#blacklist nouveau:sudo gedit /etc/modprobe.d/disable-nouveau.conf## 在最后加两行,并保存:blacklist nouveauoptions nouveau modeset = 0## shell input:sudo ldconfigsudo update-initramfs -u##查看是否已被禁用:(已禁用则无输出)sudo lspci | grep nouveau# CUDA 安装:## 进入tty1: ctrl+alt+F1sudo service lightdm stopsudo sh cuda*.sh## !!!注意注意注意!!!## 询问OpenGL安装时,选NO!,之后的那个default为no的也要选NO,其他就选YES就好##成功后reboot# 如果没有出现问题则安装成功,下面需要添加环境变量等等:##step1:ls /dev/nvidia*###出现下面两种情况:Case1:/dev/nvidia0/dev/nvidiactl/dev/nvidia-uvm则成功Case2:ls: cannot access/dev/nvidia*: No such file or directory或只出现:/dev/nvidia0/dev/nvidiactl没有num那项则:sudo gedit /etc/rc.local如果你是第一次打开这个文件,它应该是空的(除了一行又一行的#注释项外)。这文件的第一行是#!/bin/sh -e把-e去掉(这步很重要,否则它不会加载这文本的内容)然后把下列内容除了#!/bin/bash外复制到其中,(before exit 0 )保存退出。#------------------------start file--------------------------------#!/bin/bash#---copy start:/sbin/modprobe nvidiaif [ "$?" -eq 0 ]; then# Count the number of NVIDIA controllers found.NVDEVS=`lspci | grep -i NVIDIA`N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`N=`expr $N3D + $NVGA - 1`for i in `seq 0 $N`; domknod -m 666 /dev/nvidia$i c 195 $idonemknod -m 666 /dev/nvidiactl c 195 255elseexit 1fi/sbin/modprobe nvidia-uvmif [ "$?" -eq 0 ]; then# Find out the major device number used by the nvidia-uvm driverD=`grep nvidia-uvm /proc/devices | awk '{print $1}'`mknod -m 666 /dev/nvidia-uvm c $D 0elseexit 1fi#-------------------end file-----------------------## 保存并退出## 重启reboot## 检查:ls /dev/nvidia*返回:/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm则成功# 设置环境变量:sudo gedit /etc/profile在打开的文件末尾,添加以下两行。64位系统:export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}32位系统:export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}##保存文件,并重启reboot# 重启电脑,检查上述的环境变量是否设置成功。## 验证驱动版本cat /proc/driver/nvidia/version输出:NVRM version: NVIDIA UNIX x86_64 Kernel Module 384.81 Sat Sep 2 02:43:11 PDT GCC version: gcc version 5.4.0 0609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) ## 验证CUDA Toolkitnvcc -V>> 输出版本信息

Step4:编译 CUDA_SAMPLE

cd /home/xxx/NVIDIA_CUDA-9.0_Samplesmake##如果没GCC(反正我的没出现)sudo apt-get install gcc## 测试:cd /home/lxxx/NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release./deviceQuery./bandwidthTest

Tensorflow, Pytorch

pip3 install *

The END

给陈曦~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。