(以下步骤也可参考官方适用于Linux的NVIDIA CUDA安装指南)
lspci | grep -i nvidia
这里可以先跳过,在之后安装cuda9.2的时候里面可以一起安装。
如果你是别的版本或者想自己尝试别的方法也可以试试下面的设置:
可以自己本地设置:
右上角>系统设置>软件和更新>附加驱动>选择NVIDIA那项>应用更改
或者下载官方的驱动自己安装
uname -m && cat /etc/*release
(注意所安装的gcc版本要满足官方CUDA所需gcc版本)
根据要求,我这里安装的是gcc5.4.0的版本。
gcc -v
若没安装的话,依次执行以下命令可以安装gcc5.4.0:
下载gcc5.4.0,然后在下载路径打开控制台执行以下命令:
tar -zxvf gcc-5.4.0.tar.gz
cd gcc-5.4.0 //进入解压后的gcc文件夹
./contrib/download_prerequisites
cd ..
mkdir gcc-build-5.4.0
cd gcc-build-5.4.0
../gcc-5.4.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
sudo make // 这个命令需要的时间比较久,请耐心
sudo make install
要输入密码的时候输入一下密码即可。(时间比较长,要有耐心)
uname -r
sudo apt-get install linux-headers-$(uname -r)
选择合适的CUDA版本下载。
我这下载的是cuda_9.2.148_396.37_linux.run的runfile。
md5sum cuda_9.2.148_396.37_linux.run
终端中运行:
lsmod | grep nouveau
如果有输出则代表nouveau正在加载。需要我们手动禁掉nouveau。
Ubuntu的nouveau禁用方法:
a、在/etc/modprobe.d中创建文件blacklist-nouveau.conf输入命令:$ sudo vi /etc/modprobe.d/blacklist-nouveau.conf
(利用vi编辑器编辑和保存文件)在文件中输入一下内容:
blacklist nouveau options nouveau modeset=0
b、执行: $ sudo update-initramfs –u
c、再执行: $ lsmod | grep nouveau 若无内容输出,则禁用成功,若仍有内容输出,请检查操作,并重复上述操作。
————————————————
版权声明:本文为CSDN博主「QLULIBIN」的原创文章,遵循CC 4.0
BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/QLULIBIN/article/details/78714596
重启电脑,进入登录界面的时候,不要登录进入桌面(否则可能会失败,若不小心进入,请重启电脑),直接按Ctrl+Alt+F1进入文本模式(命令行界面),登录账户。
首先,关闭图形化界面:
sudo service lightdm stop
用cd
命令切换到cuda安装文件的路径,如果当前路径已经是cuda安装文件路径则不用再改()可以用ls
命令看看当前路径下的文件。
运行安装命令:
sudo sh cuda_9.2.148_396.37_linux.run --no-opengl-libs
然后会显示一段长长的说明文档,一直按回车键看完。
然后问你是否接受,输入accept
。
然后按照说明选择是否安装(使用集成显卡作为默认显示屏幕的不需要安装opengl,不然会导致之后图形界面显示不出或循环登录的问题,其他的可以都选yes)。
安装好后,重启电脑,能够顺利进入正常分辨率的界面大概就没什么问题了。
如果不小心安装了opengl导致循环登录以及黑屏等问题,可以卸载cuda重新安装:
sudo apt-get remove --purge nvidia-*
GUI界面下运行如果有问题可以使用下面的命令:
sudo apt-get install ubuntu-desktop
然后重启:
sudo reboot
重新安装.run 再次安装时请一定留意,在提示是否安装OpenGL时,你的是双显卡应该选则n。
执行 $ ls /dev/nvidia* 可能出现a、b两种结果,请对号入座。
a、若结果显示
/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm
或显示出类似的信息,应该有三个(包含一个类似/dev/nvidia-nvm的),则安装成功。
b、大多数结果可能会是这样
ls: cannot access/dev/nvidia*: No such file or directory
或是这样的,只出现
/dev/nvidia0 /dev/nvidiactl
a中的一个或两个,但没有/dev/nvidia-num,即文件显示不全。
————————————————
版权声明:本文为CSDN博主「QLULIBIN」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/QLULIBIN/article/details/78714596
如果文件不全,先复制一个启动脚本文件rc.local到另一个地方,修改内容为如下:
#!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -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`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
/sbin/modprobe nvidia-uvm
if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi
保存好后,把当前路径下的此文件移动到我们需要的位置覆盖原来的文件(不放心可以先备份):
sudo mv rc.local /etc/rc.local
重启,再检查一下:
ls /dev/nvidia*
终端打开文件:
sudo gedit /etc/profile
在文件末尾加以下的代码并保存(我的是64位系统所以是lib64
,如果是32位系统则是lib
即可):
export PATH=/usr/local/cuda-9.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
cat /proc/driver/nvidia/version
nvcc -V
尝试编译cuda提供的例子。
进入到你自己的Sample目录里面(替换成你自己的用户名):
cd /home/wxy/NVIDIA_CUDA-9.2_Samples
一般要先安装一下gcc:
sudo apt-get install gcc
然后编译:
make
如果编译成功,最后会显示Finished building CUDA samples,如下图所示。
编译完之后,来测试运行:
cd /home/wxy/NVIDIA_CUDA-9.2_Samples/bin/x86_64/linux/release
./deviceQuery
./bandwidthTest
可以在官网查询版本对应关系,这里我下载的是Cu
DNN v7.6.5
点击下载
cuDNN Library for Linux
可以得到文件cudnn-9.2-linux-x64-v7.6.5.32.tgz
然后执行以下命令,解压缩,并把文件放入进cuda所需的位置:
tar -zxvf cudnn-9.2-linux-x64-v7.6.5.32.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
cuda一般安装在 /usr/local/cuda/ 路径下,该路径下有一个version.txt文档,里面记录了cuda的版本信息
cat /usr/local/cuda/version.txt
cudnn的信息在其头文件里
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2