离线环境下安装NVIDIA驱动、CUDA(HUAWEI Kunpeng 920 + NVIDIA A100 + Ubuntu 20.04 LTS)

文章目录

前言

一、基础环境

1.1、处理器型号

1.2、英伟达显卡型号

1.3、操作系统

1.4、软件环境

二、取消内核自动升级

2.1、查看正在使用的内核版本

2.2、查看正在使用的内核包

2.3、禁止内核更新

三、配置本地apt源

3.1、挂载iso镜像文件

3.2、配置apt源

3.3、更新apt源

四、安装NVIDIA驱动

4.1、查看显卡型号

4.2、禁用nouveau

4.3、安装NVIDIA驱动

五、安装CUDA

5.1、下载CUDA

5.2、安装CUDA

5.3、配置环境变量

5.4、验证是否安装成功

六、编译安装cuda-samples


前言

因为国防项目中是离线环境,所以提前收集一下用到的依赖和软件包,同时出一个指导书,方便后续工作。


一、基础环境

1.1、处理器型号

HUAWEI Kunpeng 920 7261K

1.2、英伟达显卡型号

GA100 A100 PCIe 40GB

1.3、操作系统

Ubuntu 20.04 LTS

1.4、软件环境

软件 版本 下载地址
CUDA Toolkit 11.8 https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux_sbsa.run
cuda-samples 11.8 https://github.com/NVIDIA/cuda-samples/archive/refs/tags/v11.8.tar.gz

二、取消内核自动升级

2.1、查看正在使用的内核版本

bash 复制代码
uname -r

2.2、查看正在使用的内核包

bash 复制代码
dpkg --get-selections | grep 5.4.0-26-generic

右边红框中的 hold 代表四个内核软件包已经禁止自动更新,如果是 install 表示允许自动更新。

2.3、禁止内核更新

将上面搜索到的内核软件包禁止更新,替换成实际搜索到的软件包

bash 复制代码
apt-mark hold linux-headers-5.4.0-26-generic
apt-mark hold linux-image-5.4.0-26-generic
apt-mark hold linux-modules-5.4.0-26-generic
apt-mark hold linux-modules-extra-5.4.0-26-generic

三、配置本地apt源

说明一下:本次配置的deb源是临时的,挂载断开apt源文件就没了。

3.1、挂载iso镜像文件

我是使用iBMC的虚拟控制台进行的挂载,我的iso文件是设备:/dev/sr0

将 /dev/sr0 进行挂载:

bash 复制代码
mkdir /mnt/iso
mount /dev/sr0 /mnt/iso

3.2、配置apt源

首先将之前的apt源进行备份

bash 复制代码
mv /dev/apt/sources.list /dev/apt/sources.list.bak

这里说明一下,不同的ubuntu版本在配置apt源时,代号不同:

bash 复制代码
# 添加本地目录到软件源--16.04
## xenial是ubuntu16.04的代号
echo "deb file:///mnt/iso xenial main restricted" > /etc/apt/sources.list

# 添加本地目录到软件源--18.04
## bionic是ubuntu18.04的代号
echo "deb file:///mnt/iso bionic main restricted" > /etc/apt/sources.list

# 添加本地目录到软件源--20.04
## focal是ubuntu20.04的代号
echo "deb file:///mnt/iso focal main restricted" > /etc/apt/sources.list

3.3、更新apt源

bash 复制代码
apt update

四、安装NVIDIA驱动

4.1、查看显卡型号

复制代码
lspci | grep NVIDIA

根据显卡型号下载驱动,本项目使用的驱动跟图片中一致

下载地址:https://www.nvidia.cn/Download/index.aspx?lang=zh-cn

4.2、禁用nouveau

安装Nvidia显卡的官方驱动和系统自带的nouveau驱动冲突,所以需要禁用nouveau。

bash 复制代码
lsmod | grep nouveau

如果有输出则说明nouveau正在被加载,执行下面代码,禁用nouveau,如果没有输出,则不执行。

1、编辑配置文件:

bash 复制代码
vim /etc/modprobe.d/blacklist.conf

在尾部添加:

blacklist nouveau

options nouveau modeset=0

2、更新配置

bash 复制代码
update-initramfs -u

3、重启服务器

bash 复制代码
reboot

注意:重启后需要重新配置一下apt源。

4、验证是否生效

bash 复制代码
lsmod | grep nouveau

4.3、安装NVIDIA驱动

bash 复制代码
cd /opt
sh NVIDIA-Linux-aarch64-550.54.15.run --no-opengl-files

第一个页面:选择继续

第二个页面

第三个页面

第四个页面

查看是否安装成功,查看驱动版本

bash 复制代码
nvidia-smi

输出驱动版本,CUDA驱动版本,显卡型号。

五、安装CUDA

5.1、下载CUDA

  1. 这里需要注意CUDA Toolkit的版本要小于上面CUDA驱动的版本。

    CUDA Toolkit下载地址:https://developer.nvidia.com/cuda-toolkit-archive

    本文使用的版本是cuda_11.8.0_520.61.05_linux_sbsa.run

    这里不用纠结选择那个操作系统,只要选择arm64-sbsaNativerunfile(local)即可,其他的不管选什么下载的地址都是一个。

5.2、安装CUDA

bash 复制代码
cd /opt
sh cuda_11.8.0_520.61.05_linux_sbsa.run

第一个页面 :输入accept

第二个页面:取消Driver的安装,因为前面已经安装了驱动

第三个页面:显示下面的输出,表示安装成功

5.3、配置环境变量

bash 复制代码
vim /etc/profile

添加如下内容:
export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

#使生效
source /etc/profile

5.4、验证是否安装成功

bash 复制代码
nvcc -V

六、编译安装cuda-samples

说明:安装cuda-samples,是因为从CUDA Toolkit 11.6之后就不再将Samples集成到里面了,我们还需要使用cuda-samples进行测试,所以编译安装cuda-samples。

1、安装依赖,参考:Ubuntu 离线安装gcc,g++,make等依赖包

2、下载cuda-samples,本文使用版本11.8

下载地址:https://github.com/NVIDIA/cuda-samples/

3、编译deviceQuery案例

bash 复制代码
cd /opt/cuda-samples-11.8/Samples/1_Utilities/deviceQuery	
make

4、执行deviceQuery案例

bash 复制代码
./deviceQuery
相关推荐
smartpi_ai13 分钟前
离线语音模块误识别问题全面解决方案:命令词设计、防误触与灵敏度调优指南
人工智能·单片机·语音识别
湘美书院--湘美谈教育21 分钟前
湘美书院AI时代的禅悟集:人机智能,反照诸我
大数据·人工智能·深度学习·机器学习·生活
EDA365电子论坛25 分钟前
画得出来≠做得出来:0.4mm BGA 时代的 DFM 良率红线
人工智能·ai工具·pcb制造
leoZ23126 分钟前
第 10 篇 数据飞轮与冷启动:AI 产品的数据从哪来
人工智能·大模型·agent
明月_清风32 分钟前
为什么最近开始关注 JEV?几个实战案例告诉你答案
人工智能·后端
daemon.qiang36 分钟前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
qq_1998868738 分钟前
第6板块·第4节:构建系统与多文件项目
c++·人工智能·gpu算力
冬奇Lab1 小时前
开源项目第222期:security-audit — Cloudflare 的安全审计 Skill,把 Coding Agent 变成六阶段安全审计器
人工智能·开源·资讯
卤煮最下饭1 小时前
在眼镜上背单词:一个 AIUI 对话式智能体的诞生
人工智能
Java后端的Ai之路2 小时前
Python进阶探索17 - Python中的深拷贝与浅拷贝
人工智能·python·ai·浅拷贝·深拷贝