【深度学习环境-2】nvidia驱动、cuda安装配置

一、ubuntu系统安装nvidia驱动

方法一:

禁用nouveau驱动

1、打开文件:

sudo vim /etc/modprobe.d/blacklist.conf

2、在末尾添加:

blacklist nouveau

3、更新设置:

sudo update-initramfs -u

4、重启系统:

reboot

5、使用 lsmod 命令查看是否禁用成功:

lsmod | grep nouveau

若没有输出内容,则是禁用成功.

修改 grub 引导项

启动Ubuntu时候发现黑屏上提示一行字/dev/sda6:clean ***/*** files, ***/***blocks,一直卡在这里,一是有可能NVIDIA驱动不匹配,二是有可能没有修改Grub引导项。如果没有永久禁用该驱动,可能会出现安装完毕NIVIDA显卡后无法进入Ubuntu的情况。

sudo gedit /etc/default/grub

找到quiet splash并在后面添加nomodeset;

修改前:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

修改后:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset“

ubuntu开机就卡在/dev/sda6:clean ***/*** files, ***/***blocks,采用上述方式仍不能重启,可按Ctrl+Alt+F2进入命令行模式(无法进入可试下F1~F12键),执行sudo apt-get purge nvidia*命令,然后reboot即可。

安装NVIDIA显卡驱动

1、卸载之前的Nvidia驱动

sudo apt purge nvidia*

2、添加一个 PPA 源,命令如下:

sudo add-apt-repository ppa:graphics-drivers/ppa

3、更新源:

sudo apt-get update

4、查询本机可安装的驱动:

ubuntu-drivers devices

会输入显卡模型和推荐的驱动程序如下:(推荐驱动后面显示recommend)

5、安装推荐的Nvidia显卡驱动:

sudo ubuntu-drivers autoinstall

6、安装完毕后,查看显卡状态信息:

nvidia-smi # 若上面的命令不可以,则尝试重启查看结果 sudo reboot

方法二:

采用上述方法安装后,有时会成功,有时仍会出错。故采用手动安装的方式:

NVIDIA 驱动官网中下载相应版本的.run,手动安装。NVIDIA 驱动官网 https://www.geforce.cn/drivers   

这里下载470.57.02版本。

1、卸载所有原驱动

#如之前安装过,卸载所有原驱动

sudo apt-get purge nvidia*

2、禁用系统默认显卡驱动nouveau,与上述方法相同。

3、正式安装NVIDIA驱动

cd downloads //进入NVIDIA的.run文件放的目录下 
sudo chmod +x NVIDIA-Linux-x86_64-410.93.run 
sudo ./NVIDIA-Linux-x86_64-410.93.run

注意,运行安装文件的时候,需要做几个选择:

- continue installation

- DKMS? 选择no

- 32-bit的兼容问题,选择 ok

- 是否运行 nvidia-xconfig utillty,选择 是

二、安装CUDA

1、进入CUDA Toolkit 11.8 Downloads | NVIDIA Developer官方链接,根据自己机器的配置,选择相应安装包,也可点击Archive of Previous CUDA ReleasesCUDA Toolkit Archive | NVIDIA Developer下载之前版本的安装包。

 2、根据上图中的提示,输入命令安装即可:

# 不同CUDA版本命令不同,请注意!

sudo sh cuda_10.1.243_418.87.00_linux.run

3、安装过程需要输入一些确认选项,过程如下:

Do you accept the previously read EULA? # accept 接受
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? # 选否
(y)es/(n)o/(q)uit: n
Install the CUDA 10.1 Toolkit? #yes
(y)es/(n)o/(q)uit: y
Enter Toolkit Location  # 默认
 [default is /usr/local/cuda-10.1 ]:  
Do you want to install a symbolic link at /usr/local/cuda? # yes
(y)es/(n)o/(q)uit: y
Install the CUDA 10.1 Samples?   # 可装可不装(可以先选yes,然后用不到了再删除)
(y)es/(n)o/(q)uit: y 
Enter CUDA Samples Location
 [default is /home/ubuntu ]:
Installing the CUDA Toolkit in /usr/local/cuda-10.1 ...

4、安装成功后,添加环境变量

vim ~/.bashrc

5、在打开的文件中末尾添加

# CUDA 
export PATH=/usr/local/cuda-xx.x/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda-xx.x/lib64:$LD_LIBRARY_PATH 
export CUDA_HOME=/usr/local/cuda-xx.x

6、保存并关闭文件,终端输入

# 使环境生效
source ~/.bashrc

7、使用 nvcc -V命令查看是否配置成功,成功后会显示如下信息:

PS:CUDA11.0安装过程和上文的界面有些许差别,但流程差不多。记得将NVIDIA Driver前面的叉号去掉(按enter键选择)。

三、安装cuDNN

官方网址:cuDNN Archive | NVIDIA Developer ,需要注册之后才能下载。

1、选择对应CUDA版本的CUDNN,然后下拉选择cuDNN Library for Linux(x86_64),如图所示:

2、解压进行安装

低版本安装方式:

tar -zxvf cudnn-10.0-linux-x64-v7.6.5.32 
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*

高版本安装方式:

sudo cp cuda/include/* /usr/local/cuda-11.0/include/ 
sudo cp cuda/lib64/* /usr/local/cuda-11.0/lib64/ 
sudo chmod +x /usr/local/cuda-11.0/include/cudnn.h 
sudo chmod +x /usr/local/cuda-11.0/lib64/libcudnn*

3、查看安装的结果:

# 低版本查看cudnn版本号指令: 
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 
# 高版本查看cudnn版本号指令: 
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
  • 卸载cuda

cuda10.0及以下版本卸载方式:

cd /usr/local/cuda-xx.x/bin/ 
sudo ./uninstall_cuda_xx.x.pl 
sudo rm -rf /usr/local/cuda-xx.x

cuda10.1及以上版本卸载方式:

cd /usr/local/cuda-xx.x/bin/ 
sudo ./cuda-uninstaller 
sudo rm -rf /usr/local/cuda-xx.x
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NVIDIA CUDA是一种并行计算平台和编程模型,用于利用NVIDIA GPU的强大计算能力。它允许开发人员使用C、C++、Fortran等编程语言来编写并行计算程序,并在GPU上执行这些程序。CUDA提供了一组API和工具,使开发人员能够利用GPU的并行处理能力来加速各种计算任务,包括科学计算、机器学习、图形渲染等。 通过CUDA,开发人员可以将计算任务分解为多个并行的线程块,每个线程块在GPU上的多个处理器核心上同时执行。这种并行执行方式可以显著提高计算性能,特别是对于那些需要大量计算的任务。CUDA还提供了许多优化技术和工具,帮助开发人员进一步提高程序的性能。 要使用NVIDIA CUDA,首先需要安装NVIDIA显卡驱动CUDA工具包。可以从NVIDIA官方网站下载并安装CUDA工具包。安装完成后,开发人员可以使用CUDA编程模型来编写并行计算程序,并使用NVIDIA的编译器和工具链来构建和运行这些程序。 以下是一个使用CUDA编写的简单示例程序,用于将两个向量相加: ```c #include <stdio.h> __global__ void vectorAdd(int *a, int *b, int *c, int n) { int tid = blockIdx.x * blockDim.x + threadIdx.x; if (tid < n) { c[tid] = a[tid] + b[tid]; } } int main() { int n = 1000; int *a, *b, *c; int *d_a, *d_b, *d_c; int size = n * sizeof(int); // 分配内存并初始化向量a和b a = (int*)malloc(size); b = (int*)malloc(size); c = (int*)malloc(size); for (int i = 0; i < n; i++) { a[i] = i; b[i] = i; } // 在GPU上分配内存 cudaMalloc(&d_a, size); cudaMalloc(&d_b, size); cudaMalloc(&d_c, size); // 将向量a和b复制到GPU内存 cudaMemcpy(d_a, a, size, cudaMemcpyHostToDevice); cudaMemcpy(d_b, b, size, cudaMemcpyHostToDevice); // 启动核函数 vectorAdd<<<(n+255)/256, 256>>>(d_a, d_b, d_c, n); // 将结果从GPU内存复制到主机内存 cudaMemcpy(c, d_c, size, cudaMemcpyDeviceToHost); // 打印结果 for (int i = 0; i < n; i++) { printf("%d ", c[i]); } printf("\n"); // 释放内存 free(a); free(b); free(c); cudaFree(d_a); cudaFree(d_b); cudaFree(d_c); return 0; } ``` 这个示例程序使用CUDA在GPU上并行计算两个向量的和,并将结果打印出来。在主机上分配内存并初始化向量a和b,然后在GPU上分配内存并将数据复制到GPU内存中。接下来,启动核函数来执行并行计算,最后将结果从GPU内存复制回主机内存并打印出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值