如何安装CUDA

如何安装CUDA,第1张

PRE-INSTALLATION ACTIONS 安装前准备

1.1.Verify You Have a CUDA-Capable GPU

终端中输入: $ lspci | grep -i nvidia ,会显示自己的NVIDIA GPU版本信息

去CUDA的官网岩镇首http://developer.nvidia.com/cuda-gpus查看自己的GPU版本是否在CUDA的支持列表中

1.2.Verify You Have a Supported Version of Linux 检查自己的linux版本是否支持,我安装的是ubuntu14.04版本的,这个就没有问题

在终端中输入: $ uname -m &&cat /etc/*release

终端显示结果如下所示:

1.3. Verify the System Has gcc Installed

在终端中输入: $ gcc --version

1.4. Verify the System has the Correct Kernel Headers and Development Packages Installed

在终端中输入: $ uname –r 可以查看自己的kernel版本信息

在终端中输入:$ sudo apt-get install linux-headers-$(uname -r)

可以安装对应kernel版本的kernel header和package development

这四个小步骤我都比较顺利,安装好ubuntu后这些都装好了,如果在某一步中有问题,可以参照官方文档进行解决。

runfile安装cuda 下载链接https://developer.nvidia.com/cuda-downloads

2.1.禁用 nouveau

终端中运行粗数:$ lsmod | grep nouveau,如果有输出则代表nouveau正在加载。

Ubuntu的nouveau禁用方法:

在/etc/modprobe.d中创建文件blacklist-nouveau.conf,在文件中输入以下两行内容:

blacklist nouveau

options nouveau modeset=0

在终端中输入:$ sudo update-initramfs –u

设置完毕可以再次运行

$ lsmod | grep nouveau 检查是否禁用成功

如果运行后没有任何输出,则代表禁用成功(如果还有输出,表示没有禁用成功,不过也不要担心,可以重启电脑,再次运行该命令一般情况下会显示禁用成功)。

2.2.重启电脑,到达登录界面时,alt+ctrl+f1,进入text mode,登录账户

2.3.在text mode中输入

$ sudo service lightdm stop 关闭图形化界面

2.4.切换到cuda安装文件的路径

运行$ sudo sh cuda_7.5.18_linux.run

一般下载好cuda安装包后直接放在home目录下,就可以按照上面的代码运行了,建议这么做。

遇到提示是否安装openGL ,选择no(如果你的电脑跟我一样是双显,且主显是非NVIDIA的GPU需要选择no,否则可以选择yes)。其他都选择yes或者默认安装成功后,会显示installed,否则会显示failed。

2.5. 输入 $ sudo service lightdm start 重新启动图形化界面。

Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。

如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了。

2.6. 重启电脑。检查Device Node Verification。

检查路径~/dev下 有无存在名为nvidia*(以nvidia开头)的多个文件(device files)

如果没有的话,旅源可以参考官方文档里的指导步骤,进行添加。

添加过程:

a)在home下创建一个文档,命名位modprobe,不要后缀,文档的内容如下:

#!/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

b)将该文件复制到/etc/init.d目录下

终端输入: $ sudo chmod 755 /etc/init.d/modprobe

d)执行如下命令将脚本放到启动脚本中去。

终端输入: $ cd /etc/init.d

$ sudo update-rc.d modprobe defaults 95

注意:数字95其实可以随便设置的。

e)关机然后重新启动,去~/dev下面查看,不出意外此时应该有nvidia*系类文件了。

对于2.6的说明:很有必要说一下不管怎么搞我的nvidia*文件总是出现不了,所以我放弃,不过好像并没有太大的影响。这一点根据情况大家自己试试吧。

2.7. 设置环境变量。

终端中输入 $ sudo gedit /etc/profile

在打开的文件末尾,添加以下两行:

export PATH=/usr/local/cuda-7.5/bin/:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda7.5/lib64/:$LD_LIBRARY_PATH

2.8. 重启电脑,检查上述的环境变量是否设置成功。

终端中输入 : $ env

在输出的环境变量中检查有无上述 设置的变量,如果有则代表设置成功。

3. 检查cuda是否安装成功。

3.1.检查 NVIDIA Driver是否安装成功

终端输入 :$ cat /proc/driver/nvidia/version 会输出NVIDIA Driver的版本号

3.2检查 CUDA Toolkit是否安装成功

终端输入 : $ nvcc –V 会输出CUDA的版本信息

3.3尝试编译cuda提供的例子

切换到例子存放的路径,默认路径是 ~/NVIDIA_CUDA-7.5_Samples

终端输入:$ make

注意:这里的make *** 作是将Samples文件夹下所有的demo都编译了一遍,所以比较耗时,如果仅仅想测试某个例子,可以进入相应的文件夹去编译即可。

如果出现错误的话,则会立即报错停止,否则会开始进入编译阶段。

注意:我第一次运行的时候就报错了,错误是缺少一些依赖库,一般情况下也就是这个问题,按照如下方式安装就好,其实也没必要都安装,不过安装上也不会报错:

$ sudo apt-get install freeglut3-dev

$ sudo apt-get install build-essential

$ sudo apt-get install libx11-dev

$ sudo apt-get install libxmu-dev

$ sudo apt-get install libxi-dev

$ sudo apt-get install ibgl1-mesa-glx

$ sudo apt-get install llibglu1-mesa

$ sudo apt-get install libglu1-mesa-dev

安装好后,在终端输入: $ make

成功后,NVIDIA_CUDA-7.5_Samples文件夹下会出现一个bin文件夹。运行编译生成的二进制文件。

编译后的二进制文件 默认存放在~/NVIDIA_CUDA-7.5_Samples/bin中。

1、什么是CUDA

2、什模碰弯么是CUDNN

3、CUDA与CUDNN的关系

4、CUDNN不会对CUDA造成影响

官方Linux安装指南表述:

cuDNN的安装文件有两个文件夹,共五个文件,如下

CUDA平台里对应文件夹的文件,如下

可以看到,CUDA已有的文件与cuDNN没有相同的文件,复制CUDNN的文件后,CUDA里的文件并不会被覆盖,CUDA其他文件并不会受影响。

5、Linux下CUDNN的安装

在服务器上共安装了三个不同版本的CUDA,并不知旦闷道哪个能正常调用,所以需要安装三个不同版本的cuDNN。

cuDNN的文件已经放入服务器我的文件夹下

linu命令如下:如果不行,就全部去掉sudo。

cp 是复制,chmod是给与文件可读权限,使这个文件可以读取,吵陵rm 是删除文件

(1)

sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/include/cudnn.h /usr/local/cuda-9.1/include

sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/include/libcudnn* /usr/local/cuda-9.1/lib64

sudo chmod a+r /usr/local/cuda-9.1/include/cudnn.h

sudo chmod a+r /usr/local/cuda-9.1/lib64/libcudnn*

(2)

sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/include/cudnn.h /public/software/cuda-9.1/include

sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/lib64/libcudnn* /public/software/cuda-9.1/lib64

sudo chmod a+r /public/software/cuda-9.1/include/cudnn.h

sudo chmod a+r /public/software/cuda-9.1lib64/libcudnn*

(3)

sudo cp /public/home/qliang/lyr/ysl/cudnn10/cuda/include/cudnn.h/ usr/local/cuda-9.1/include

sudo cp /public/home/qliang/lyr/ysl/cudnn10/cuda/lib64/libcudnn* /usr/local/cuda-9.1/lib64

sudo chmod a+r /public/software/cuda-10.0/include/cudnn.h

sudo chmod a+r /public/software/cuda-10.0/lib64/libcudnn*

6、卸载cuDNN

因为是插入式设计,cuDNN的卸载也非常简单,只需要把相关文件删除就可以了。指令如下:

rm –rf /usr/local/cuda-9.1/include/cudnn.h

rm –rf /usr/local/cuda-9.1/lib64/libcudnn*

rm –rf /public/software/cuda-9.1/include/cudnn.h

rm –rf /public/software/cuda-9.1/lib64/libcudnn*

rm –rf /public/software/cuda-10.0/include/cudnn.h

rm –rf /public/software/cuda-10.0/lib64/libcudnn*


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12289758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存