首先官方文档有cuda驱动和toolkit和Linux内核本,gcc版本的对应关系,其中也有一些安装过程可参考:

https://developer.nvidia.com/cuda-toolkit-archive

此网址也包括各个版本的cuda驱动与库

cuda文件版本命名理解:

NVIDIA-Linux-x86_64-450.191.01.run   此为run文件,对应的还有rpm包,这种文件就是只包含驱动文件安装,其中Linux-x86_64为系统型号,450.191.01为驱动版本,其中450这个数字越大越好,可以对之前版本的cuda toolkit向下兼容的

cuda_11.4.4_470.82.01_linux.run 这种命名的不光包含驱动,还有对应的cuda toolkit库文件,11.4.4就是该安装包内的cuda库的版本,470就是安装包内的驱动版本,同时这个文件名也告诉我们,11.4.4的库和470的驱动是特定兼容的。此安装包在安装时可以选择是否安装驱动或者库。

cuda_10.2.2_linux.run  这种一般就是补丁文件。

注(参考理解):1.有GPU驱动版本。使用 `nvidia-smi` 查询它。2.有一个与驱动相关的CUDA兼容版本(特定GPU驱动版本与其相关的CUDA兼容版本之间存在1:1的对应关系)。与最新驱动程序捆绑在一起的 `nvidia-smi` 工具将显示它们拥有的 CUDA 兼容版本。3. 有一个 CUDA 运行时版本,它将与您用于构建特定运行时 API 代码的运行时 API 相关联。例如,您可以使用 `nvcc -v` 查询,或者使用 `deviceQuery` 示例代码查询最后两件事。

系统中查看GPU信息

系统安装完成之后,进入系统,使用lspci  查询一下GPU是否存在、型号信息是什么。

[root@node01 ~]# lspci | grep -i nvidia

或者直接问。。

下载NVIDIA Tesla A100驱动

通过lspci查询到GPU的型号之后,访问官网 nvidia.com下载驱动程序可以按照如下选择,选择产品类型、系列、型号、然后根据自己的操作系统来选择。 
注意:如果操作系统是 ,尽量选择Linux 32-bit/Linux 64-bit,不需要选择详细的Linux发行版本。测试是发现选择详细的Linux发行版本,安装驱动之后,找不到nvidia-smi 。

https://www.nvidia.cn/Download/index.aspx?lang=cn或者

https://developer.nvidia.com/cuda-toolkit-archive

https://www.nvidia.com/Download/index.aspx

安装gcc等依赖包

当安装GPU驱动时,提示缺少相关的依赖包,在此,我们需要提前安装相关的依赖包,目前需要用到的是gcc , g++ , make :

[root@localhost ~]# yum -y install gcc gcc-c++ kernel-devel make

sudo yum autoremove -y gcc*
sudo yum autoremove -y cpp*
sudo yum autoremove -y dkms sudo rm -rf /opt/rh #删除由devtoolset安装的gcc
sudo rm -rf /usr/lib/gcc
sudo rm -rf /usr/libexec/gcc
whereis gcc sudo yum install -y gcc
sudo yum install -y gcc-c++
sudo yum install -y glibc-devel gcc -v

清理gcc参考

禁用nouveau,不然可能在安装时256退出

当系统安装完成之后,会安装系统开源的NVIDIA驱动版本,名称为nouveau。查看nouveau驱动是否加载

lsmod |grep -i nouveau

编辑 /etc/default/grub文件,修改 GRUB_CMDLINE_LINUX一行(自己在安装时这一步好像并没有实际操作):

保存退出,更新grub:

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-91fd57f1c90a4a2da20ef93ed7f886c6
Found initrd image: /boot/initramfs-0-rescue-91fd57f1c90a4a2da20ef93ed7f886c6.img
done
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.efi.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-91fd57f1c90a4a2da20ef93ed7f886c6
Found initrd image: /boot/initramfs-0-rescue-91fd57f1c90a4a2da20ef93ed7f886c6.img

更新grup

编辑 /lib/modprobe.d/dist-blacklist.conf,把 blacklist nvidiafb 改成 #blacklist nvidiafb(注释掉,打开),然后在最下面添加 blacklist nouveau和 options nouveau modeset=0

[root@localhost ~]# vim /lib/modprobe.d/dist-blacklist.conf

# blacklist nvidiafb

blacklist nouveau

options nouveau modeset=0

备份initrams并使用dracut重新建立initramfs并重启系统:

[root@localhost ~]# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

[root@localhost ~]# dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

[root@localhost ~]#  reboot

 
lsmod | grep nouveau
 

安装NVIDIA GPU驱动

安装下载的GPU驱动:NVIDIA-Linux-x86_64-510.47.03.run ,目前驱动版本为:510.47.03,如下执行该驱动文件,即可安装。

sudo sh NVIDIA-Linux-x86_64-450.191.01.run

nvidia-smi  查看驱动是否安成功

安装cuda

sudo  sh

需要配置环境变量

sudo vim /etc/profile  然后执行 source /etc/profile

或者 sudo vim ~/.bashrc  然后执行 source ~/.bashrc  激活环境变量

添加内容如下,一般在安装后也会在屏幕输出中提示:

export LD_LABRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
export PATH=$PATH:/usr/local/cuda-10.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.2

相同效果:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

验证安装

为 nvcc命令创建一个软连接到/usr/bin目录:(此步骤实际微操作也验证出来了)

sudo ln -s /usr/local/cuda/bin/nvcc /usr/bin/nvcc

输入命令nvcc -V 或者 nvcc --version

查看是否安装成功。

安装过程可能需要gcc的版本进行升级变更等,不然会有内核冲突或者256退出。

最新文章

  1. 【JS基础】数组
  2. HttpEntity转换Inputstream(红色)加XmlPull解析
  3. [vijos P1180] 选课
  4. python use dom to write xml file
  5. 回文串---Palindrome
  6. Java 关键字 native
  7. TCP/IP四层模型和OSI七层模型的概念
  8. Android之EditText
  9. T4 模板 vs2010
  10. boost signal2 trackable
  11. [C#绘图]Matrix类
  12. Windows Phone开发(47):轻松调用Web Service
  13. [SDOI 2008]Cave 洞穴勘测
  14. 阿里巴巴是如何打通 CMDB,实现就近访问的?
  15. python全栈开发day86-CRM增删改查 分页
  16. JavaScript函数使用技巧
  17. python 普通方法,@classmethod,@staticmethod
  18. SpringMVC初写(三)Controller的生命周期
  19. laravel 5.3 多用户认证
  20. java中定义一个CloneUtil 工具类

热门文章

  1. [图像处理] YUV图像处理入门4
  2. [OpenCV实战]33 使用OpenCV进行Hough变换
  3. GIS数据下载合集:遥感、土壤、气象、行政区数据...
  4. 个别编程语言在OJ平台上的输入输出方式
  5. 探究BrainSplit-集群脑裂
  6. CSS中的各种格式化上下文-FC(BFC)、IFC、GFC、FFC)
  7. IDEA必备插件、阿里巴巴规范插件(代码格式化,注释模板化)的安装及使用和快捷键设置
  8. vulnhub靶场之CEREAL: 1
  9. 使用pycharm打开sqlite的问题
  10. pdf转图片加水印压缩