离线环境下安装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
相关推荐
坤坤爱学习2.012 分钟前
求医十年,病因不明,ChatGPT:你看起来有基因突变
人工智能·ai·chatgpt·程序员·大模型·ai编程·大模型学
Imagine Miracle44 分钟前
Ubuntu for ARM 更换为阿里云镜像源
arm开发·ubuntu·阿里云
蹦蹦跳跳真可爱5891 小时前
Python----循环神经网络(Transformer ----注意力机制)
人工智能·深度学习·nlp·transformer·循环神经网络
空中湖3 小时前
tensorflow武林志第二卷第九章:玄功九转
人工智能·python·tensorflow
lishaoan773 小时前
使用tensorflow的线性回归的例子(七)
人工智能·tensorflow·线性回归
千宇宙航6 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
onceco6 小时前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
jndingxin9 小时前
OpenCV CUDA模块设备层-----高效地计算两个 uint 类型值的带权重平均值
人工智能·opencv·计算机视觉
Sweet锦9 小时前
零基础保姆级本地化部署文心大模型4.5开源系列
人工智能·语言模型·文心一言
hie9889410 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab