离线环境下安装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 Toolkit11.8https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux_sbsa.run
cuda-samples11.8https://github.com/NVIDIA/cuda-samples/archive/refs/tags/v11.8.tar.gz

二、取消内核自动升级

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

uname -r

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

dpkg --get-selections | grep 5.4.0-26-generic

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

2.3、禁止内核更新

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

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 进行挂载:

mkdir /mnt/iso
mount /dev/sr0 /mnt/iso

3.2、配置apt源

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

mv /dev/apt/sources.list /dev/apt/sources.list.bak

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

# 添加本地目录到软件源--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源

apt update

四、安装NVIDIA驱动

4.1、查看显卡型号

lspci | grep NVIDIA

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

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

在这里插入图片描述

4.2、禁用nouveau

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

lsmod | grep nouveau

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

1、编辑配置文件:

vim /etc/modprobe.d/blacklist.conf

在尾部添加:

blacklist nouveau
options nouveau modeset=0

2、更新配置

update-initramfs -u

3、重启服务器

reboot

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

4、验证是否生效

lsmod | grep nouveau

4.3、安装NVIDIA驱动

cd /opt
sh NVIDIA-Linux-aarch64-550.54.15.run –no-opengl-files

第一个页面:选择继续

第二个页面

在这里插入图片描述

第三个页面

第四个页面

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

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

cd /opt
sh cuda_11.8.0_520.61.05_linux_sbsa.run

第一个页面:输入accept

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

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

5.3、配置环境变量

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、验证是否安装成功

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案例

cd /opt/cuda-samples-11.8/Samples/1_Utilities/deviceQuery	
make

4、执行deviceQuery案例

./deviceQuery

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/20471.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

防止重复调用

前段防重 在前段设置状态在响应时进入遮罩层或给按钮一个状态 后端防重 //获取setNX锁if (redisTemplate.opsForValue().setIfAbsent("lock", orderId)) {//获取锁成功try {//Redission 获取锁RLock lock redissonClient.getLock("lock");boolean acqui…

python分别保存聚类分析结果+KeyError: ‘CustomerID‘报错

如何在完成聚类分析后按聚类编号保存数据并且带上原数据所属ID # 将每个聚类的数据保存到不同的文件中 for cluster_id in range(6): # 假设共有6个聚类cluster_data data[data[cluster] cluster_id]cluster_data_with_customer_id cluster_data.copy()cluster_data_with_…

图文并茂带你理解Java的代理模式

目录 Java的代理模式1、什么是代理模式?2、静态代理和动态代理3、JDK动态代理的局限性4、使用CGLIB代理机制完成未实现接口的类的代理5、JDK动态代理和CGLIB动态代理对比6、JDK动态代理为什么只能代理实现接口的类? Java的代理模式 1、什么是代理模式&a…

vue3使用vue3-print-nb打印

打印效果 1.下载插件 Vue2.0版本安装方法 npm install vue-print-nb --saveVue3.0版本安装方法: npm install vue3-print-nb --save2.main.js引入 vue2引入 import Print from vue-print-nb Vue.use(Print)vue3引入 import print from vue3-print-nb // 打印…

idm究竟有哪些优势?

IDM(Internet Download Manager)作为一款知名的下载管理软件,拥有许多优势,让用户在下载文件时体验更加高效和便捷。以下是IDM的一些主要优势: 首先,IDM具有加速下载的功能。通过多线程技术,ID…

实时监控电脑屏幕的软件是什么?三款超受欢迎的电脑监控软件

实时监控电脑屏幕的软件在现代企业管理中扮演着至关重要的角色,它们不仅帮助管理者实时监控员工的工作状态,提高工作效率,还通过数据分析和报告功能,为企业提供了优化管理流程和决策支持的依据。以下将介绍几款市面上广泛使用的实…

大模型部署_书生浦语大模型 _作业2基本demo

本节课可以让同学们实践 4 个主要内容,分别是: 1、部署 InternLM2-Chat-1.8B 模型进行智能对话 1.1安装依赖库: pip install huggingface-hub0.17.3 pip install transformers4.34 pip install psutil5.9.8 pip install accelerate0.24.1…

为新质生产力注入人才“活水”

21世纪最缺的是什么?这个梗到今天仍有现实意义,答案也依旧是那两个字——人才!不过,随着数字化转型的深入,以及国家战略布局新质生产力,还是应该与时俱进,在这两个字的前面再加上一个定语&#…

CORS前端:深度解析跨域资源共享机制及其前端应用

CORS前端:深度解析跨域资源共享机制及其前端应用 在前端开发领域,CORS(跨源资源共享)是一个不可或缺的概念。它允许网页应用在不同的源(域、协议或端口)之间进行资源请求和共享,从而打破了同源…

kaggle竞赛实战4

本文补充第二种特征生成方法,第一种是A属性等于1,针对一个卡号的B属性各个值求和,还有种方法是统计各个维度上的统计指标(求和等指标) # In[86]: transactionpd.read_csv(d:/transaction_d_pre.csv,low_memoryFalse) …

Jlink驱动包

本文分享多个版本的Jlink安装驱动包。 链接: https://pan.baidu.com/s/19P2HymfPTFK2IEfAjEoSpA 提取码: cj6k 主要分享如下版本的: Jlink安装驱动方法: 点击下一步: 点击 同意 然后进行安装。 安装完成后点击完成 使用方法: …

文件存储目录设计 文件资源地址URI的设计

文件存储目录设计 1. 前言2. 业界调研2.1 业界各大厂文件命名百度阿里-淘宝腾讯美团抖音CSDN 2.2 对象存储2.2.1 功能说明2.2.2 OSS命名建议 3. 文件目录设计4. 其他建议 1. 前言 文件为什么要做目录管理?文件资源地址又该如何设计定义? 设计的由来都是…

Ubuntu 离线安装 gcc、g++、make 等依赖包

前言 项目现场的服务器无法连接互联网,需要提前获取 gcc、g、make 等依赖包。 一、如何获取依赖包 需要准备一台可以连接互联网的电脑(如:个人电脑上的虚拟机安装一个与服务器一样的系统),用于下载依赖包。之后把通过…

Python Arr用法:深度解析与实战应用

Python Arr用法:深度解析与实战应用 在Python编程中,数组(通常称为列表或list)是一种常用的数据结构,用于存储和操作一系列有序的元素。然而,Python的标准库并未直接提供类似C语言中的数组类型&#xff0c…

【Linux】Linux工具——yum,vim

1.Linux 软件包管理器——yum Linux安装软件: 源代码安装(不建议)rpm安装(类似Linux安装包,版本可能不兼容,不推荐,容易报错)yum安装(解决了安装源,安装版本&…

四川音盛佳云电子商务有限公司引领抖音电商新风潮

在数字化浪潮席卷全球的今天,电商行业已成为推动经济发展的重要力量。作为这一领域的佼佼者,四川音盛佳云电子商务有限公司凭借其在抖音电商服务领域的专业实力和独特视角,正引领着行业的新风潮,助力品牌实现快速增长和腾飞。 四…

使用Python发送企业微信消息

大家好,在本文中,我们将探讨如何使用 Python 发送企业微信消息。将详细说明如何通过 Python 脚本实现消息的发送。无论是希望自动化某些任务,还是想要快速地向团队发送实时通知,本文都将为您提供一站式的解决方案。 企业微信提供了…

找不到msvcr100.dll如何修复,分享几种有效的修复方法

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“找不到msvcr100.dll”。这个错误通常发生在运行某些程序时,系统无法找到所需的动态链接库文件。这个问题可能会给用户带来困扰,但是幸运的是,有一些简单…

面试网易大模型算法岗,题是一道比一道难啊。。。

暑期实习基本结束了,校招即将开启。 不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。提前准备才是完全之策。 最近,我们又陆续整理了很多大厂的面试题&#xff0c…

汇编原理 | 二进制、跳转指令、算数运算、

一.二进制 two complement reprentation(补码) 二进制的运算: 6的二进制 0110 -6的二进制 如何表示? 四个bit的第一个bit表示符号:1负0正 -6表示为1010 解释: 0 0000 1 0001 -1 1111(由 …