ubuntu 安装 cuda

ubuntu 安装 cuda

  • 环境与设备
    • 在官网找安装方式

本篇文章将介绍ubuntu 安装 CUDA Toolkit

CUDA Toolkit 是由 NVIDIA(英伟达)公司开发的一个软件工具包,用于支持并优化 GPU(图形处理器)上的并行计算和高性能计算。它提供了一组库、编译器、开发工具和 API(应用程序编程接口),使开发者能够在 NVIDIA GPU 上编写和执行并行计算任务,从而加速各种应用程序的运行速度。

主要功能和组件包括:

  1. CUDA 编程模型:CUDA Toolkit 提供了一种并行计算模型,允许开发者使用类似于 C 语言的语法来编写 GPU 上的代码。开发者可以使用 CUDA C/C++ 编写核心计算代码,称为 GPU 内核函数(Kernel Functions),并在 GPU 上并行执行这些函数。

  2. CUDA Runtime API:CUDA 提供了一组运行时库和 API,开发者可以使用这些函数来管理 GPU 内存、启动 GPU 内核函数、同步和通信等。

  3. CUDA 编译器:CUDA 编译器将 CUDA C/C++ 代码转换为针对特定 NVIDIA GPU 架构的汇编代码。这些汇编代码会与 CPU 代码一起组成一个可执行文件。

  4. GPU 加速库:CUDA Toolkit 提供了一些高性能计算库,如 cuBLAS(基础线性代数子程序库)、cuFFT(快速傅里叶变换库)、cuDNN(深度神经网络库)等,这些库能够在 GPU 上加速相应的计算任务。

  5. 并行计算支持:CUDA Toolkit 充分利用 GPU 的并行计算能力,可以用于各种任务,如科学计算、机器学习、深度学习、图像处理等。

希望能写一些简单的教程和案例分享给需要的人

环境与设备

系统:ubuntu
设备:Nvidia GeForce RTX 4090

在官网找安装方式

访问

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64

选择后就和下图一样:我这里是 Linux ubuntu 22.04 所以我按这个来选。

在这里插入图片描述

复制下面的 Base Installer

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.2.1/local_installers/cuda-repo-ubuntu2204-12-2-local_12.2.1-535.86.10-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-2-local_12.2.1-535.86.10-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

在这里插入图片描述

一个个复制过去执行

使用 wget 命令下载一个名为 cuda-ubuntu2204.pin 的文件。这个文件是用来设置 APT 软件源优先级的。

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin

将刚刚下载的 cuda-ubuntu2204.pin 文件移动到 /etc/apt/preferences.d/ 目录下,并将文件名更改为 cuda-repository-pin-600。这个操作会设置 CUDA 软件源的优先级为 600,以确保系统正确选择合适的软件源。

sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600

使用 wget 命令下载 CUDA Toolkit 的本地安装包(.deb 文件),以便在本地系统中进行安装。

wget https://developer.download.nvidia.com/compute/cuda/12.2.1/local_installers/cuda-repo-ubuntu2204-12-2-local_12.2.1-535.86.10-1_amd64.deb

使用 dpkg 命令安装刚刚下载的 CUDA 本地安装包。

sudo dpkg -i cuda-repo-ubuntu2204-12-2-local_12.2.1-535.86.10-1_amd64.deb

将 CUDA 软件源中的密钥文件复制到 /usr/share/keyrings/ 目录下,这是用于验证软件源的 GPG 密钥。

sudo cp /var/cuda-repo-ubuntu2204-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/

更新系统的软件包信息,以便获取最新的可用软件包列表。

sudo apt-get update

使用 apt-get 命令安装 CUDA Toolkit。-y 参数表示自动确认安装过程中的提示。

sudo apt-get -y install cuda

安装完成后,执行命令

dir /usr/local/

执行命令后可以看到 cuda ,说明安装了,接下来配置一下文件
在这里插入图片描述

修改配置文件:vim ~/.bashrc

vim ~/.bashrc

在末尾加入下面代码:我这里是12.2,所以我加的是这个路径 12.2,大家自行更换

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.2/lib64
export PATH=$PATH:/usr/local/cuda-12.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.2

加入配置文件后,执行代码更新

source ~/.bashrc

更新完成后,我们执行 nvcc -V 来查看是否安装完成

nvcc -V

在这里插入图片描述

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

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

相关文章

解析TCP/IP协议的分层模型

了解ISO模型:构建通信的蓝图 为了促进网络应用的普及,国际标准化组织(ISO)引入了开放式系统互联(Open System Interconnect,OSI)模型。这个模型包括了七个层次,从底层的物理连接到顶…

一、Dubbo 简介与架构

一、Dubbo 简介与架构 1.1 应用架构演进过程 单体应用:JEE、MVC分布式应用:SOA、微服务化 1.2 Dubbo 简介一种分布式 RPC 框架,对专业知识(序列化/反序列化、网络、多线程、设计模式、性能优化等)进行了更高层的抽象和…

ArcGIS Maps SDK for JavaScript系列之三:在Vue3中使用ArcGIS API加载三维地球

目录 SceneView类的常用属性SceneView类的常用方法vue3中使用SceneView类创建三维地球项目准备引入ArcGIS API创建Vue组件在OnMounted中调用初始化函数initArcGisMap创建Camera对象Camera的常用属性Camera的常用方法 要在Vue 3中使用ArcGIS API for JavaScript加载和展示三维地…

Java旋转数组中的最小数字(图文详解版)

目录 1.题目描述 2.题解 分析 具体实现 方法一(遍历): 方法二(排序): 方法三(二分查找): 1.题目描述 有一个长度为 n 的非降序数组,比如[1,2,3,4,5]&a…

npm install 中 --save 和 --save-dev 是什么?

npm,全名 Node Package Manager,套件管理工具,package.json 会记下你在项目中安装的所有套件。 假设在项目中安装 lodash npm i --save lodash这样在 dependencies 中会出现: 如果修改了导入方式: npm i --save-dev …

Labview解决“重置VI:xxx.vi”报错问题

文章目录 前言一、程序框图二、前面板三、问题描述四、解决办法 前言 在程序关闭前面板的时候小概率型出现了 重置VI:xxx.vi 这个报错,并且发现此时只能通过任务管理器杀掉 LabVIEW 进程才能退出,这里介绍一下解决方法。 一、程序框图 程序…

pve7.2虚拟机 lvm磁盘扩容,增加硬盘操作

之前安装pve时候只有256的ssd,最近安装的虚拟机较多,给加块闲置硬盘,顺便学习一下,像pve这种虚拟机系统,硬盘应该可以像nas你这样随时增加,而不影响上层应用,我自己也是摸索着做。 一、安装好硬盘后打开pv…

vue3+ts-tsconfig.json报错Option ‘importsNotUsedAsValues’

vue3ts-tsconfig.json报错Option ‘importsNotUsedAsValues’ is deprecated and will stop functioning in TypeScript 5.5. Specify compilerOption ‘“ignoreDeprecations”: “5.0”’ to silence this error. Use ‘verbatimModuleSyntax’ instead 自我记录 翻译 选项…

echart 3d立体颜色渐变柱状图

如果可以实现记得点赞分享,谢谢老铁~ 1.需求描述 根据业务需求将不同的法律法规,展示不同的3d立体渐变柱状图。 2.先看下效果图 3. 确定三面的颜色,这里我是自定义的颜色 // 右面生成颜色const rightColorArr ref(["#79D…

ComponentOne Studio ASP.NET MVC Crack

ComponentOne Studio ASP.NET MVC Crack FlexReport增强功能 添加了对在Microsoft Windows上部署Microsoft Azure的支持。 添加了对显示嵌入字体的支持。 .NET标准版的经典C1PDF(Beta版) GrapeCity的经典C1Pdf库现在提供了基于Microsoft.NET标准的版本。在任何.NET应用程序(包括…

江南大学计算机考研分析

24计算机考研|上岸指南 江南大学 江南大学计算机考研招生学院是人工智能与计算机学院。目前均已出拟录取名单。 江南大学人工智能与计算机学院成立于2020年3月,办学历史可追溯到1994年设立的计算机应用专业。学院秉持江南大学“彰显轻工特色,服务国计民…

【数据结构】栈和队列

【数据结构】栈和队列 一: 栈1.栈的概念及和结构2. 栈的实用3. 栈接口实现 二: 队列1. 队列的概念和结构2. 队列的实用3. 队列接口实现 三:扩展 一: 栈 1.栈的概念及和结构 栈:一种特殊的线性表,其只允许…

SAP安全库存-安全库存共享、安全库存简介

SAP系统中的安全库存用于管理计划外和计划内的库存需求,在某些行业中,由于不同的情况,如意外损耗、损坏、环境问题、制造工艺问题、需求增加等,通常会出现意外的库存需求。 SAP提供了维护安全库存的处理方式来处理这样的问题,安全库存的字段信息在主数据视图中,在物料需…

题解 | #1002.Shortest path# 2023杭电暑期多校9

1002.Shortest path 签到题 记忆化搜索 题目大意 给定一个正整数 n n n ,可以对其进行以下操作: 如果 n n n 能被 3 3 3 整除,则可以使 n n / 3 nn/3 nn/3 ;如果 n n n 能被 2 2 2 整除,则可以使 n n / 2 nn/2 nn/2 …

【C++】deque容器

0.前言 1.deque构造函数 #include <iostream> using namespace std; #include <deque>//deque构造函数 void printDeque(const deque<int>& d) {for (deque<int>::const_iterator it d.begin(); it ! d.end(); it){//*it 100; //加了const就不能…

go的gin和gorm框架实现切换身份的接口

使用go的gin和gorm框架实现切换身份的接口&#xff0c;接收前端发送的JSON对象&#xff0c;查询数据库并更新&#xff0c;返回前端信息 接收前端发来的JSON对象&#xff0c;包含由openid和登陆状态组成的一个string和要切换的身份码int型 后端接收后判断要切换的身份是否低于该…

windows下dll文件的创建详细教程

1、前言 dll文件是啥&#xff0c;就不作过多赘述了。现在直接教大家如何创建与使用dll文件。 本文基于windows系统&#xff0c;使用的编译相关工具为visual studio 2019。 2、创建dll 2.1 创建dll工程 首先打开visual studio&#xff0c;然后选择创建新项目&#xff0c;在搜…

Word(1):文章页码设置

1.需求 在文档的封皮页不设置页码&#xff0c;在目录页页码设置为罗马数字&#xff0c;在正文使用阿拉伯数字。 2.解决方法 step1&#xff1a; 在封皮页的最后&#xff0c;点击”插入“-分隔符-分节符&#xff08;下一页&#xff09; step2&#xff1a;在目录页的最后&…

【Java学习】System.Console使用

背景 在自学《Java核心技术卷1》的过程中看到了对System.Console的介绍&#xff0c;编写下列测试代码&#xff0c; public class ConsoleTest {public static void main(String[] args) {Console cs System.console();String name cs.readLine("AccountInfo: ");…

探讨uniapp的数据缓存问题

异步就是不管保没保存成功&#xff0c;程序都会继续往下执行。同步是等保存成功了&#xff0c;才会执行下面的代码。使用异步&#xff0c;性能会更好&#xff1b;而使用同步&#xff0c;数据会更安全。 1 uni.setStorage(OBJECT) 将数据存储在本地缓存中指定的 key 中&#x…