NVidia 的 gpu 开源 Linux Kernel Module Driver 编译 安装 使用
见面礼,动态查看gpu使用情况,每隔2秒钟自动执行一次 nvidia-smi
$ watch -n 2 nvidia-smi
1,找一台nv kmd列表中支持的 GPU 的电脑,安装ubuntu22.04
列表见 github of the kmd source code。
因为 cuda sdk 12.3支持最高到 ubuntu 22.04,故
下载 ubuntu 22.04...iso
rufus 刷U盘
重启电脑,F2F8F10F12一起按
进入 setup,修改启动顺序,选U盘第一
一步步安装好,
reboot
修改apt 国内源
为编译Linux kernel 安装软件:
sudo apt updatesudo apt upgradesudo apt install build-essential
sudo apt-get update && sudo apt-get install libncurses-dev && sudo apt-get install build-essential && sudo apt-get install flex bison && sudo apt-get install libssl-dev && sudo apt-get install binutils && sudo apt-get install libelf-dev && sudo apt-get install openssh-server && sudo apt-get install vim && sudo apt-get install bc && sudo apt-get install dwarves && sudo apt-get install zstd
sudo apt-get updatesudo apt-get install libssl-devsudo apt-get install binutilssudo apt-get install libelf-devsudo apt-get install dwarves
2,重新编译安装Linux kernel
sudo apt install linux-source-6.5.0
sudo apt install linux-source-6.5.0
ls
mkdir ex_kernel_linux_debug
cd ex_kernel_linux_debug/
ls
cp /usr/src/linux-source-6.5.0.tar.bz2 ./
tar -xvjf linux-source-6.5.0.tar.bz2
cd linux-source-6.5.0/cp /boot/config-6.5.0-44-generic ./.config
make oldconfig
编译 kernel :
$ make -j
安装 kernel :
$ sudo make modules_install$ sudo make install$ sudo reboot
3, 安装 cuda sdk 12.3 但保留最后两步
按照nv官方步骤,先执行step1的安装
3.1 安装之前需要设置黑名单,官方指导
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/#removing-cuda-toolkit-and-driver
具体操作:
复制如下:
8.3.6. UbuntuCreate a file at /etc/modprobe.d/blacklist-nouveau.conf with the following contents:blacklist nouveauoptions nouveau modeset=0Regenerate the kernel initramfs:sudo update-initramfs -u
3.2 安装 cuda sdk step 1
操作链接:
https://developer.nvidia.com/cuda-12-3-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_local
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pinsudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600wget https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda-repo-ubuntu2204-12-3-local_12.3.0-545.23.06-1_amd64.debsudo dpkg -i cuda-repo-ubuntu2204-12-3-local_12.3.0-545.23.06-1_amd64.debsudo cp /var/cuda-repo-ubuntu2204-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/sudo apt-get updatesudo apt-get -y install cuda-toolkit-12-3
4, 使用开源代码替代step2
4.1 下载编译 NV gpu 的开源 kmd
下载:
https://github.com/NVIDIA/open-gpu-kernel-modules
git clone https://github.com/NVIDIA/open-gpu-kernel-modules.gitcd open-gpu-kernel-modulesgit checkout 545.23.06git branch
有时候下载会失败,下载下来后做好备份。或者 fork 到自己的github 账号后再clone
4.2 编译安装
make clean
make -j12
sudo make modules_install
sudo make install
sudo reboot
5,执行step 3 安装 cuda
sudo apt-get install -y cuda-drivers-545
测试:
$ nvidia-smi
$ ./vectorAdd
6,怎么验证这个kmd是从 源码安装的呢?
在开源代码中 加点printk等代码看看:
重新编译安装
$ make modules -j
$ make modules_install -j
重启电脑
$ sudo reboot
然后执行:
$ sudo dmesg
这名加载的是开源代码的ko文件。
运行APP:
备忘个链接:
Index of /XFree86/FreeBSD-x86_64/520.56.06
https://images.nvidia.com/content/pdf/nvswitch-technical-overview.pdf
https://www.amax.com/unleashing-next-level-gpu-performance-with-nvidia-nvlink/
https://www.nvidia.com/en-us/data-center/nvlink/
https://hc34.hotchips.org/assets/program/conference/day2/Network%20and%20Switches/NVSwitch%20HotChips%202022%20r5.pdf
相关文章:
NVidia 的 gpu 开源 Linux Kernel Module Driver 编译 安装 使用
见面礼,动态查看gpu使用情况,每隔2秒钟自动执行一次 nvidia-smi $ watch -n 2 nvidia-smi 1,找一台nv kmd列表中支持的 GPU 的电脑,安装ubuntu22.04 列表见 github of the kmd source code。 因为 cuda sdk 12.3支持最高到 ubu…...
win7显卡驱动更新后msvcp140.dll丢失的解决方法
msvcp140.dll是一个 DLL(动态链接库)文件,它是 Microsoft Visual C 2015 Redistributable Package 的一部分。这个文件包含 C 应用程序在运行时所需的标准库函数,主要涉及执行与 C 编程语言相关的操作,如内存管理、数学…...
(11)Python引领金融前沿:投资组合优化实战案例
1. 前言 本篇文章为 Python 对金融的投资组合优化的示例。投资组合优化是从一组可用的投资组合中选择最佳投资组合的过程,目的是最大限度地提高回报和降低风险。 投资组合优化是从一组可用的投资组合中选择最佳投资组合的过程,目的是最大限度地提高回报…...
git删除本地远程分支
gitlab删除远程分支 要删除GitLab上的远程分支,你可以使用Git命令行工具。以下是删除远程分支的步骤和示例代码: 首先,确保你已经在本地删除了分支。删除本地分支的命令是: git branch -d <branch_name> 如果分支没有被合…...
前端-04-VScode敲击键盘有键入音效,怎么关闭
目录 问题解决办法 问题 今天正在VScode敲项目,不知道是按了什么快捷键还是什么的,敲击键盘有声音,超级烦人啊!!于是我上网查了一下,应该是开启了VScode的键入音效,下面是关闭键入音效的办法。…...
JMeter数据库连接操作及断言
一、数据库操作 应用场景: 接口自动化数据校验:用于验证接口返回的数据与数据库中的数据是否一致。特殊业务:处理一些与数据库相关的特殊业务逻辑。性能测试:测试数据库的性能,如查询、更新等操作的响应时间。 连接数…...
Maven settings.xml 私服上传和拉取配置
公司内部自行开发的依赖包需要上传到maven私服时,可以在项目的pom.xml中配置,也可以在本地计算机的maven目录settings.xml中配置。本文讲述的是如何在settings.xml中进行配置。 场景:有两个maven私服,其中一个为公司的࿰…...
【STM32】MPU内存保护单元
注:仅在F7和M7系列上使用介绍 功能: 设置不同存储区域的存储器访问权限(管理员、用户) 设置存储器(内存和外设)属性(可缓冲、可缓存、可共享) 优点:提高嵌入式系统的健壮…...
用Python爬虫能实现什么?
Python 是进行网络爬虫开发的一个非常流行和强大的语言,这主要得益于其丰富的库和框架,比如 requests、BeautifulSoup、Scrapy 等。下面我将简要介绍 Python 爬虫的基础知识和几个关键步骤。 1. 爬虫的基本原理 网络爬虫(Web Crawler&#…...
【QT】label中添加QImage图片并旋转(水平翻转、垂直翻转、顺时针旋转、逆时针旋转)
目录 0.简介 1.详细代码及解释 1)原label显示在界面上 2)水平翻转 3)垂直翻转 4)顺时针旋转45度 5)逆时针旋转 0.简介 环境:windows11 QtCreator 背景:demo,父类为QWidget&a…...
CSP-J模拟赛day1
yjq的吉祥数 文件读写 输入文件 a v o i d . i n avoid.in avoid.in 输出文件 a v o i d . o u t avoid.out avoid.out 限制 1000ms 512MB 题目描述 众所周知, 这个数字在有些时候不是很吉利,因为它谐音为 “散” 所以yjq认为只要是 的整数次幂的数…...
Docker构建LNMP环境并运行Wordpress平台
1.准备Nginx 上传文件 Dockerfile FROM centos:7 as firstADD nginx-1.24.0.tar.gz /opt/ COPY CentOS-Base.repo /etc/yum.repos.d/RUN yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c make && \useradd -M -s /sbin/nologin nginx && \cd /o…...
《峡谷小狐仙-多模态角色扮演游戏助手》复现流程
YongXie66/Honor-of-Kings_RolePlay: The Role Playing Project of Honor-of-Kings Based on LnternLM2。峡谷小狐仙--王者荣耀领域的角色扮演聊天机器人,结合多模态技术将英雄妲己的形象带入大模型中。 (github.com) https://github.com/chg0901/Honor_of_Kings…...
Qt 使用Installer Framework制作安装包
Qt 使用Installer Framework制作安装包 引言一、下载安装 Qt Installer Framework二、简单使用2.1 创建目录结构 (文件夹结构)2.2 制作程序压缩包2.3 制作程序安装包 引言 Qt Installer Framework (安装程序框架)是一个强大的工具集,用于创建自定义的在线和离线安装…...
Typora 1.5.8 版本安装下载教程 (轻量级 Markdown 编辑器),图文步骤详解,免费领取(软件可激活使用)
文章目录 软件介绍软件下载安装步骤激活步骤 软件介绍 Typora是一款基于Markdown语法的轻量级文本编辑器,它的主要目标是为用户提供一个简洁、高效的写作环境。以下是Typora的一些主要特点和功能: 实时预览:Typora支持实时预览功能࿰…...
linux代填密码切换用户
一、背景 linux用户账户密码复杂,在不考虑安全的情况下,想要使用命令自动切换用户 二、操作 通过 expect 工具来实现自动输入密码的效果 yum install expect创建switchRoot.exp文件,内容参考下面的 #!/usr/bin/expect set username root…...
防火墙的经典体系结构及其具体结构
防火墙的经典体系结构及其具体结构 防火墙是保护计算机网络安全的重要设备或软件,主要用于监控和控制进出网络流量,防止未经授权的访问。防火墙的经典体系结构主要包括包过滤防火墙、状态检测防火墙、代理防火墙和下一代防火墙(NGFW…...
【BUG】已解决:note: This is an issue with the package mentioned above,not pip.
已解决:note: This is an issue with the package mentioned above,not pip. 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷…...
【ARM】SMMU系统虚拟化整理
目录 1.MMU的基本介绍 1.1 特点梳理 2.功能 DVM interface PTW interface 2.1 操作流程 2.1.1 StreamID 2.1.2 安全状态: 2.1.3 HUM 2.1.4 可配置的操作特性 Outstanding transactions per TBU QoS 仲裁 2.2 Cache结构 2.2.1 Micro TLB 2.2.2 Macro…...
PYQT按键长按机制
长按按键不松开也会触发 keyReleaseEvent 事件,是由于操作系统的键盘事件处理机制。大多数操作系统在检测到键盘按键被长按时,会重复生成按键按下 (keyPressEvent) 和按键释放 (keyReleaseEvent) 事件。这种行为通常被称为“键盘自动重复”。 通过检测 …...
SAPUI5基础知识15 - 理解控件的本质
1. 背景 经过一系列的练习,通过不同的SAPUI5控件,我们完成了对应用程序界面的初步设计,在本篇博客中,让我们一起总结下SAPUI5控件的相关知识点,更深入地理解SAPUI5控件的本质。 通常而言,一个典型UI5应用…...
十七、【机器学习】【非监督学习】- K-均值 (K-Means)
系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…...
算法力扣刷题记录 五十六【501.二叉搜索树中的众数】
前言 二叉搜索树操作,继续。 记录 五十六【501.二叉搜索树中的众数】 一、题目阅读 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)…...
分布式搜索引擎ES-Elasticsearch进阶
1.head与postman基于索引的操作 引入概念: 集群健康: green 所有的主分片和副本分片都正常运行。你的集群是100%可用 yellow 所有的主分片都正常运行,但不是所有的副本分片都正常运行。 red 有主分片没能正常运行。 查询es集群健康状态&…...
低代码与传统编程:快速高质量构建系统的比较与方法
在信息技术飞速发展的今天,企业对软件系统的需求不断增加。然而,如何在保证高质量的前提下快速构建系统成为了一个关键问题。本文将深入探讨低代码(Low-Code)开发与传统代码编程的区别,并探讨如何利用这两种方法快速高…...
WebRTC音视频-环境搭建
目录 期望效果 1:虚拟机和系统安装 2:WebRTC客户端环境搭建 2.1:VScode安装 2.2:MobaXterm安装 3:WebRTC服务器环境搭建 3.1:安装openssh服务器 3.2:安装Node.js 3.3:coturn穿透和转发服务器 3.3.1&a…...
Memcached开发(八):使用PHP进行操作
目录 1. 安装与配置 1.1 安装Memcached服务器 1.2 安装PHP的Memcached扩展 2. 基本操作 2.1 连接Memcached服务器 2.2 设置与获取数据 2.3 删除数据 2.4 检查数据是否存在 2.5 添加和替换数据 3. 高级操作 3.1 批量操作 3.2 数据计数器 3.3 CAS(Check …...
[Spring Boot]Protobuf解析MQTT消息体
简述 本文主要针对在MQTT场景下,使用Protobuf协议解析MQTT的消息体 Protobuf下载 官方下载 https://github.com/protocolbuffers/protobuf/releases网盘下载 链接:https://pan.baidu.com/s/1Uz7CZuOSwa8VCDl-6r2xzw?pwdanan 提取码:an…...
什么是Mappers?Mappers的作用是什么?
在软件开发中,“mappers” 通常指的是数据映射器(Data Mappers),它们的主要作用是在应用程序的数据持久化层(通常是数据库或其他持久化存储)与应用程序的业务逻辑之间建立一个映射层。 具体来说࿰…...
python-多任务编程
2. 多任务编程 2.1 多任务概述 多任务 即操作系统中可以同时运行多个任务。比如我们可以同时挂着qq,听音乐,同时上网浏览网页。这是我们看得到的任务,在系统中还有很多系统任务在执行,现在的操作系统基本都是多任务操作系统,具备…...
可以做外链的网站/南京百度推广
1:场景一:工厂模式中简单工厂模式优化 1)简单工厂模式也可以叫做静态方法模式(因为工厂类一般都是在内部定义了一个静态方法) 2)简单工厂模式通过创建一个对应的工厂类,将类实例化的操作与使用…...
英文医疗网站建设/nba排名最新赛程
B树索引、位图索引和散列索引 1.B树索引结构:特点:1.B*Tree 索引不存储null值 。更准确的说,单列索引不存储null值,复合索引不存储全为null的值,因为索引上如果有Null值&…...
网站建设业务文案/推广普通话手抄报图片大全
如下图 :报 Caused by: java.lang.IllegalStateException: SpringJUnit4ClassRunner requires JUnit 4.12 or higher. 有道翻译一下:告诉我们junit测试jar依赖包版本太低了 然后我去查看一下自己的项目pom文件的依赖 发现是4.11版本,于是修改…...
网站怎样做seo推广/seo优化顾问服务
漏洞版本: MongoDB 2.4.0-2.4.4 漏洞描述: CVE ID:CVE-2013-4142MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种MongoDB "mongo::mongoFind()"函数(src/mongo/scripting/v8_db.cpp)在解析规则表…...
廊坊网站制作公司/seo是搜索引擎营销吗
Bland-Altman一致性分析临床上,如何评判两种检测方法学的一致性呢?对于定性资料,一般是通过kappa一致性分析:比如,如何评价C13呼气试验和病理活检对幽门螺旋杆菌(Hp)检测的一致性呢?这个在之前的推文中有详…...
谁给个国外的黄色网站/如何建立公司网站网页
作者 | CDA数据分析师来源 | CDA数据分析研究院本文涉及到的开发环境:操作系统 Windows 10数据库 MySQL 8.0Python 3.7.2 pip 19.0.3两种方法进行数据库的连接分别是PyMySQL和mysql.connector步骤:连接数据库生成游标对象执行SQL语句关闭游标关闭连接PyM…...