离线环境下安装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
相关推荐
黄卷青灯776 分钟前
把下载的ippicv.tgz放入<opencv_build_dir>/3rdparty/ippicv/download/中cmake依然无法识别
人工智能·opencv·计算机视觉·ippicv
小呆瓜历险记12 分钟前
ubuntu 22.04搭建SOC开发环境
linux·运维·ubuntu
程序员老刘19 分钟前
MCP:新时代的API,每个程序员都应该掌握
人工智能·flutter·mcp
Humbunklung23 分钟前
全连接层和卷积层
人工智能·python·深度学习·神经网络·机器学习·cnn
广州山泉婚姻35 分钟前
解锁高效开发:Spring Boot 3和MyBatis-Flex在智慧零工平台后端的应用实战
人工智能·spring boot·spring
三花AI35 分钟前
Higgsfield AI 整合 Flux.1 Kontext:一站式创意工作流解决方案
人工智能
暗夜潜行39 分钟前
ubuntu + nginx 1.26 + php7.4 + mysql8.0 调优
linux·运维·ubuntu
vokxchh1 小时前
RootSIFT的目标定位,opencvsharp。
人工智能·opencv·计算机视觉
神经星星1 小时前
基于8.6万蛋白质结构数据,融合量子力学计算的机器学习方法挖掘69个全新氮-氧-硫键
人工智能·深度学习·机器学习
执笔论英雄1 小时前
【大模型训练】中短序列attention 和MOE层并行方式(二)
人工智能