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.rhkb.cn/news/86187.html

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

相关文章

VSCode Remote-SSH (Windows)

1. VSCode 安装 VSCode 2. 安装扩展 Remote SSH Getting started Follow the step-by-step tutorial or if you have a simple SSH host setup, connect to it as follows: Press F1 and run the Remote-SSH: Open SSH Host… command.Enter your user and host/IP in the …

[保研/考研机试] KY87 鸡兔同笼 北京大学复试上机题 C++实现

描述 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 输入描述: 每组测试数据占1行,…

集合工具类 Collections:提升集合操作效率

文章目录 多元素添加:addAll 方法随机置换:shuffle 方法自定义对象排序:sort 方法总结 在Java的集合框架中,Collections 是一个包含了许多操作集合的静态方法的工具类。通过使用 Collections 类提供的方法,我们能够更加…

UGUI基础游戏对象Canvas

一.画布Canvas对象概述 画布是一种带有画布组件的游戏对象,所有 UI 元素都必须是此类画布的子项。 创建新的 UI 元素(如使用菜单 GameObject > UI > Image 创建图像)时,如果场景中还没有画布,则会自动创建画布。…

软件研发的道德情操

作者:许晓斌(晓斌) 两百多年前苏格兰出了一位大哲学家,他的名字叫做亚当斯密。今天人们对他的了解更多是在经济学家这个身份,都认为是他发现了“看不见的手”这一神奇的经济规律,以及他那本著名的《国富论》。然而除了这本书之外&…

【果树农药喷洒机器人】Part5:基于深度相机与分割掩膜的果树冠层体积探测方法

文章目录 一、引言二、树冠体积测量对比方法2.1冠层体积人工测量法2.2冠层体积拟合测量法 三、基于深度相机与分割掩膜探测树冠体积方法3.1像素值与深度值的转换3.2树冠体积视觉探测法3.3实验分析 总结 一、引言 果树靶标探测是实现农药精准喷施的关键环节,本章以果…

IP核之fifo

一.FIFO简介 FIFO (First In First Out,即先入先出),是一种数据缓冲器,用来实现数据先入先出的读写方式。 二,FIFO实现原理 FIFO是采用一种先入先出的实现原理 就如图按照D1到D10的顺序输入那么读取的时候也是按照D…

SQL | 检索数据

1-检索数据 1.1-检索单个列 SELECT prod_name FROM Products; 上述SELECT语句从Products表中检索一个名为prod_name的列。 所要查找的列在select后面,from关键字指出从那个表查询数据。 输出如下: prod_name8 inch teddy bear12 inch teddy bear18…

锁定Mac的内置键盘,防止外接键盘时的误触

场景:把你的外接键盘放在mac上,然后打字时,发现外接键盘误触mac键盘,导致使用体验极差 解决方案:下载Karabiner-Elements这款软件,并给它开启相关权限。 地址:https://github.com/pqrs-org/Ka…

Active Directory安全和风险状况管理

风险评估和管理 风险评估和管理是主动安全性和合规性管理不可或缺的一部分。 发现关键基础设施组件中的风险行为和配置对于阻止网络入侵和预防网络攻击至关重要。帐户泄露和配置错误漏洞是用于破坏网络的常见技术。当评估、监控和降低 Active Directory 基础架构的风险时&…

无涯教程-Perl - my函数

描述 此函数声明LIST中的变量在包围式块内按词法范围。如果指定了多个变量,则所有变量都必须用括号括起来。 语法 以下是此函数的简单语法- my LIST返回值 此函数不返回任何值。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl -wmy $string "We are the w…

页面静态化(模板引擎Freemarker)

1、浏览器请求web服务器 2、服务器渲染页面,渲染的过程就是向jsp页面(模板)内填充数据(模型)。 3、服务器将渲染生成的页面返回给浏览器。 所以模板引擎就是:模板数据输出,Jsp页面就是模板,页面中嵌入的jsp标签就是数据&#x…

Node.js |(二)Node.js API:fs模块 | 尚硅谷2023版Node.js零基础视频教程

学习视频:尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手 文章目录 📚文件写入🐇writeFile 异步写入🐇writeFileSync 同步写入🐇appendFile / appendFileSync 追加写入🐇createWriteStrea…

SpringCloud实用篇6——elasticsearch搜索功能

目录 1 DSL查询文档1.1 DSL查询分类1.2 全文检索查询1.2.1 使用场景1.2.2 基本语法1.2.3 示例1.2.4 总结 1.3 精准查询1.3.1 term查询1.3.2 range查询1.3.3 总结 1.4.地理坐标查询1.4.1 矩形范围查询1.4.2 附近查询 1.5 复合查询1.5.1 相关性算分1.5.2 算分函数查询1&#xff0…

Prometheus入门

Prometheus(普罗米修斯) 是一种 新型监控告警工具,Kubernetes 的流行带动了 Prometheus 的应用。 全文参考自 prometheus 学习笔记(1)-mac 单机版环境搭建[1] Mac 上安装 Prometheus brew install prometheus 安装路径在 /usr/local/Cellar/prometheus/2.20.1, 配置文件在 /usr…

08-1_Qt 5.9 C++开发指南_QPainter绘图

文章目录 前言1. QPainter 绘图系统1.1 QPainter 与QPaintDevice1.2 paintEvent事件和绘图区1.3 QPainter 绘图的主要属性 2. QPen的主要功能3. QBrush的主要功能4. 渐变填充5. QPainter 绘制基本图形元件5.1 基本图像元件5.2 QpainterPath的使用 前言 本章所介绍内容基本在《…

聚观早报 | 三星和LG发展电车零件业务;宝马召回国产和进口电车

【聚观365】8月12日消息 三星和LG加速发展电车零件业务宝马召回部分国产和进口电动汽车华为有意推动车BU独立运营长城汽车CTO就“中国汽车在一起”发声比科奇芯片被Contela选为单元的核心组件 三星和LG加速发展电车零件业务 随着电动汽车需求的增加,对电池、芯片等…

新一代分布式融合存储,数据场景All In One

1、摘要 2023年5月11日,浪潮信息全国巡展广州站正式启航。会上,重磅发布新一代分布式融合存储AS13000G7,其采用极致融合架构设计理念,实现同一套存储满足四种非结构化数据的“All In One”高效融合,数据存力提升300%&a…

28.Netty源码之缓存一致性协议

Mpsc Queue 基础知识 Mpsc 的全称是 Multi Producer Single Consumer,多生产者单消费者。Mpsc Queue 可以保证多个生产者同时访问队列是线程安全的,而且同一时刻只允许一个消费者从队列中读取数据。 Netty Reactor 线程中任务队列 taskQueue 必须满足多个…

pycharm离线安装依赖包

一、对于单个下载离线包,然后安装 1、先去https://pypi.org/网站下载离线包,下载到本地; 2、从磁盘中找到刚刚下载包,点击确定就可以安装了 二、将本地项目所有依赖包全部下载下来,然后批量在另一个项目&#xff…