首先官方文档有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退出。

centos7.8GPU服务器搭建的更多相关文章

  1. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  2. 基于CentOS7的服务器搭建(LAMP环境)

    基于CentOS7的服务器环境搭建(LAMP环境) 一.安装MySQL组件 1.由于在CentOS7中,默认yum安装库中不含有mysql,我们可以下载mysql的分支MariaDB,如果必须要下my ...

  3. centos7 svn服务器搭建

    系统环境:centos 7.5 yum安装svn yum install subversion -y 创建svn 版本库目录 mkdir -p /var/svn/svnrepos 在版本库目录下创建版 ...

  4. Centos7 ftp服务器搭建

    1.使用yum安装ftp服务端: yum install -y vsftpd 2.使用yum安装ftp客户端: yum install -y ftp.x86_64 3.开启ftp服务设置开机启动并查看 ...

  5. Samba centos7文件共享服务器搭建教程,可以更改任意需求操作配置详解。

    先安装软件   yum -y install samba-client 请看如下配置文件说明 [gongxiang]       comment = This is my shared folder  ...

  6. 阿里云服务器搭建java环境(jdk+tomcat+oracle11g)

    一.JDK配置 1.在centos 7的更新源中有JDK,使用yum即可下载安装 查看库中版本 [root@localhost ~]# yum search java|grep jdk 选择需要版本进 ...

  7. 【SVN】CentOS7.0下搭建SVN服务器

    SVN服务器搭建 最近接手了天赋吉运的SVN项目管理,那么学会搭建SVN服务器就成为了必须的技能.这篇文章就来讲一讲在CentOS7.0下如何搭建SVN服务器 1,下载安装SVN版本 yum inst ...

  8. centos7.3给搭建SVN服务器

    centos7.3给搭建SVN服务器 1 安装svnserver yum install subversion 2 查看版本 svnserve --version 3 创建版本库 3.1 运行以下命令 ...

  9. centos7 Intellij Idea 授权服务器搭建(Jetbrain 家族系列IDE)

    centos7 Intellij Idea 授权服务器搭建 1.上传破解文件 我用的是Xshell客户端,有上传功能,但是linux必须先装lrzsz,也可以通过其他方式传到linux上 yum -y ...

  10. Centos7服务器搭建网络家园和论坛

    环境:Centos7 工具:mysql,php,httpd 目的:熟练掌握httpd服务器搭建和个服务器之间的配合. 有兴趣的朋友可以来实践一下,我会提供各种源码进行搭建. 网络家园和论坛源码:htt ...

随机推荐

  1. 聊一聊 SQLSERVER 的行不能跨页

    一:背景 1. 讲故事 相信有很多朋友在学习 SQLSERVER 的时候都听说过这句话,但大多都是记忆为主,最近在研究 SQLSERVER,所以我们从 底层存储 的角度来深入理解下. 二:理解数据页 ...

  2. C#开发的磁吸屏幕类库 - 开源研究系列文章

    上次写了一个关于线程池的博文,里面讲到了关于磁吸屏幕的类库,今天就把这个类库进行下讲解. 一.      类库目录: 类库的目录见下图,主要定义了Win32的一些API,以及一些API使用到的常量和结 ...

  3. python进阶之路2——解释器软件安装

    内容概要 计算机五大组成部分 计算机三大核心硬件 操作系统 编程与编程语言 编程语言发展史 编程语言的分类 python解释器下载与安装 python解释器多版本共存 pycharm安装 计算机五大组 ...

  4. .Net Core Logging模块源码阅读

    .Net Core Logging模块源码阅读 前言 在Asp.Net Core Webapi项目中经常会用到ILogger,于是在空闲的时候就clone了一下官方的源码库下来研究,这里记录一下. 官 ...

  5. 迷宫机器人最短路径使用tkinter绘制

    起因 我想要写一个玩家和机器对战的迷宫游戏.这个项目我没有写完,我实现了最短机器人路径并绘制在tkinter上,以及玩家移动的功能.更多的关于GUI的设计太花时间了我没有写完. 算法介绍 我在写机器人 ...

  6. 二十一、B树的定义、查找、插入和删除

    一.B树的定义 一棵m阶的B树,或为空树,或为满足下列特性的m叉树: (1)树中每个结点至多有m棵子树:(2)B树是所有结点的平衡因子均等于0的多路平衡查找树:(3)若根结点不是叶子结点,则至少有两棵 ...

  7. Cert Manager 申请SSL证书流程及相关概念-三

    中英文对照表 英文 英文 - K8S CRD 中文 备注 certificates Certificate 证书 certificates.cert-manager.io/v1 certificate ...

  8. 第一个C程序

    写C代码 创建工作区 创建工程 创建文件(.c源文件..h头文件) main函数是程序执行的入口,有且只有一个 函数printf(print function打印函数)[库函数-C语言本身提供给我们使 ...

  9. CSS中的各种格式化上下文-FC(BFC)、IFC、GFC、FFC)

    什么是FC? FC是Formatting Context的缩写,中文名:格式化上下文.是 W3C在CSS2.1 规范中的一个概念. FC是指页面中一篇渲染区域,渲染区域内使用的格式化上下文的渲染规则, ...

  10. uni-app + .NET 7实现微信小程序订阅消息推送

    微信小程序的订阅消息是小程序的重要能力之一,为实现服务的闭环提供更优的体验.订阅消息我们应该经常见到,比如下单成功之后的服务通知,支付成功后的支付成功通知,都属于小程序的订阅消息. 本文只实现一次性订 ...