安装cuda10_ubuntu怎么安装软件

安装cuda10_ubuntu怎么安装软件本文详细介绍了 CUDA 和 cuDNN 的安装步骤 包括检查显卡信息 选择合适的 CUDA 版本 安装 CUDA 验证 CUDA 安装 以及 cuDNN 的下载和安装验证 旨在帮助读者顺利配置深度学习环境

  • 写于 2024/01/26
  • 更新于2024/10/21

目录

一、了解CUDA与cuDNN

二、安装CUDA

1. 查看显卡型号与驱动版本(Driver Version)

2. 下载CUDA

3.安装CUDA

4. 验证CUDA是否安装完成

三、安装cuDNN

1.下载cuDNN

2.安装cuDNN

后记:关于cuda v11.6之后版本Samples的编译运行(以v11.8为例)

一、编译与运行

二、文件夹内容简介


记:这几年,大模型的兴起,打开了新时代的大门,想要在这个时代快速地成长和生存,利用好AI进行辅助学习显然已经成为一种大趋势,我们应该抓住一切能加速自己成长的机会,国内的文心一言,豆包等,国外的大模型Chatgpt、Claude等,无一不可以辅助自己编程的学习,这里给大家推荐一个我自己在用的整合Chagpt和Claude的网站(国内可用,站点稳定):传送门

抓住AI时代每一个机会,加速自己成长,提高自己的核心竞争力与自身价值!

为了方便下次找到文章,也方便联系我给大家提供帮助,欢迎大家点赞👍、收藏📂和关注🔔!一起讨论技术问题💻,一起学习成长📚!如果你有任何问题或想法,随时留言,我会尽快回复哦😊!

本篇文章将详细从如何安装CUDA与cuDNN开始,到基本配置结束,帮助大家理清配置流程,文章最后,我将附上我的博客中其他有关CUDA的文章,欢迎大家阅读。

一、了解CUDA与cuDNN

CUDA(Compute Unified Device Architecture)是NVIDIA开发的并行计算平台和编程模型,用于利用NVIDIA GPU的并行计算能力,它允许开发者使用类似于C语言的编程语言编写并行程序,利用GPU的大规模并行计算能力加速各种类型的应用程序,包括科学计算、深度学习、图形渲染等,并提供了一套丰富的API和工具,使开发者能够方便地利用GPU加速计算,包括核心的CUDA Runtime API、CUDA Driver API以及各种辅助工具和库。 

cuDNN(CUDA Deep Neural Network library)是NVIDIA专门针对深度学习应用开发的GPU加速库。它提供了一系列高效的深度学习算法的实现,包括卷积神经网络(CNN)、循环神经网络(RNN)等常用网络结构的基本操作,如卷积、池化、归一化、激活函数等。cuDNN针对NVIDIA GPU进行了高度优化,利用GPU的并行计算能力加速深度学习模型的训练和推理过程。通过使用cuDNN,开发者可以轻松地将深度学习模型部署到支持CUDA的NVIDIA GPU上,并获得显著的性能提升。

总的来说,CUDA提供了通用的并行计算平台和编程模型,而cuDNN则是针对深度学习应用进行了优化的GPU加速库,二者结合起来可以实现高效的深度学习模型训练和推理。

二、安装CUDA

1. 查看显卡型号驱动版本(Driver Version)

①打开终端(win+R输入cmd),输入

nvidia-smi

--显卡型号:NVIDIA GeForce RTX 4060

--驱动版本:532.10

大家要了解的是:

1)驱动版本决定了CUDA版本,驱动版本越高,则可安装的CUDA版本越高

2)CUDA向下兼容,我这里是输出的CUDA版本为12.1,并不是意味着我的电脑只能安装12.1版本的CUDA,而是可以安装12.1及以下任何版本的CUDA

如果你想了解更多的驱动与CUDA之间的对应关系,可以查看官网:

CUDA 12.3 Update 2 Release Notes (nvidia.com)

TensorFlow与CUDA

在 Windows 环境中从源代码构建  |  TensorFlow

Pytorch与CUDA

Previous PyTorch Versions | PyTorch

2. 下载CUDA

①Org Download WEB:

CUDA Toolkit Archive | NVIDIA Developer

②选择你将要安装的版本,我这里选择了11.6.0

在下述界面完成后,Download(2.4GB),等待下载完成

这里推荐IDM下载工具,下载速度很快

3.安装CUDA

①双击安装程序

②直接【OK】即可,不必修改路径(如果你的C盘没有空间了,记得修改路径)

该窗口为暂时解压缩路径,一旦安装程序完成,该临时文件夹会被清理,但是,提取过程会占用文件夹的存储空间,需要足够的空间来存放解压后的文件。

【OK】后等待即可

③【同意并继续】

④选择【自定义】,【下一步】

⑤组件选择问题

1)Other componentsDriver components

当前版本即为我的本地版本,新版本即为CUDA安装时将要替代版本

可以看到,我的版本均大于等于新版本,不必再勾选

如果你希望进行更新,那么你可以自行选择

2)CUDA

在这里,你可以看到Visual Studio Integration

如果你的设备上已经安装了VS,那么勾选上

反之,要取消勾选,否则在后续的安装过程会报错


2024/10/21记,注意:在cuda v11.6之后(v11.7开始),cuda Toolkits不再集成Samples文件夹,该文件夹中包含许多示例代码,对cuda的安装成功与否没有影响,感兴趣的读者请查阅文章最后部分,我将对Samples如何运行进行详细赘述。


⑥下一步,浏览修改安装位置,【下一步】

在另一个盘中新建目录结构如下(E:\Data_cuda中):

├─Data
│  └─NVIDIA Corporation
│      └─CUDA Samples
│          └─v11.6
└─Files
    └─NVIDIA GPU Computing Toolkit
        └─CUDA
            └─v11.6

⑦等待安装

⑧下一步

⑨安装完成,【关闭】

4. 验证CUDA是否安装完成

在新打开的cmd窗口中输入:

nvcc -V

如上图,即表示安装完成!

三、安装cuDNN

1.下载cuDNN

①Org Download WEB:

Log in | NVIDIA Developer

注意:需要提前注册账号才可以登录

②这里选择版本是注意for CUDA xx.x,如果你的CUDA是11版本就选11,12版本就选12

③点开后选择【Local Install for Windows】下载

④解压下载文件

文件结构如下:

2.安装cuDNN

①复制以下三个文件夹

②将文件夹粘贴至如下路径:

path to your cudaFolder/Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6

3.验证cuDNN是否安装成功

①在下述文件夹右键,打开终端

path to your cudaFolder/Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/extras/demo_suite

②输入:

.\deviceQuery.exe

得到PASS即代表安装成功

输入:

 .\bandwidthTest.exe

得到PASS即代表安装成功

转载请标明出处!
如果还有问题,欢迎在评论区留言或私信
作者:BQ
主页:bqcode.blog.csdn.net

Learn Together!


后记:关于cuda v11.6之后版本Samples的编译运行(以v11.8为例)

一、编译与运行

1.进行源码的下载

方法一:

①进入下述网址,Tag,切换至11.8

NVIDIA/cuda-samples at v11.8

②开始下载源码

方法二:

利用Git将该项目下载至本地,命令如下:

git clone --branch v11.8 --single-branch https://github.com/NVIDIA/cuda-samples.git

我已将该项目放至网盘,网络不好的同学可在网盘下载:

获取链接地址

2.文件夹中可以看到三个“.sln”文件,使用对应的VS版本打开即可

等待项目加载:

加载完成后可以看到:

3.随便点进一个文件的某个项目,以4_CUDA_Libraries下的batchCUBLAS为例,进行以下步骤:

①在batchCUBLAS.cpp末尾处的exit(nTotalErrors == 0 ? EXIT_SUCCESS : EXIT_FAILURE);前一行添加:

system("pause");

②右键batchCUBLAS,【生成】

可以看到,其生成的可执行文件(exe)放在了如下位置:

②进入该文件夹,双击该可执行文件,可以看到如下输出:

batchCUBLAS Starting... GPU Device 0: "Ampere" with compute capability 8.6 ==== Running single kernels ==== Testing sgemm # args: ta=0 tb=0 m=128 n=128 k=128 alpha = (0xbf, -1) beta= (0x, 2) # args: lda=128 ldb=128 ldc=128 ^^^^ elapsed = 0.00 sec GFLOPS=2.13788 @@@@ sgemm test OK Testing dgemm # args: ta=0 tb=0 m=128 n=128 k=128 alpha = (0x0000000000000000, 0) beta= (0x0000000000000000, 0) # args: lda=128 ldb=128 ldc=128 ^^^^ elapsed = 0.00003720 sec GFLOPS=112.75 @@@@ dgemm test OK ==== Running N=10 without streams ==== Testing sgemm # args: ta=0 tb=0 m=128 n=128 k=128 alpha = (0xbf, -1) beta= (0x00000000, 0) # args: lda=128 ldb=128 ldc=128 ^^^^ elapsed = 0.00008710 sec GFLOPS=481.55 @@@@ sgemm test OK Testing dgemm # args: ta=0 tb=0 m=128 n=128 k=128 alpha = (0xbff0000000000000, -1) beta= (0x0000000000000000, 0) # args: lda=128 ldb=128 ldc=128 ^^^^ elapsed = 0.00068830 sec GFLOPS=60.9371 @@@@ dgemm test OK ==== Running N=10 with streams ==== Testing sgemm # args: ta=0 tb=0 m=128 n=128 k=128 alpha = (0x, 2) beta= (0x, 2) # args: lda=128 ldb=128 ldc=128 ^^^^ elapsed = 0.00007860 sec GFLOPS=533.626 @@@@ sgemm test OK Testing dgemm # args: ta=0 tb=0 m=128 n=128 k=128 alpha = (0xbff0000000000000, -1) beta= (0x0000000000000000, 0) # args: lda=128 ldb=128 ldc=128 ^^^^ elapsed = 0.00029690 sec GFLOPS=141.27 @@@@ dgemm test OK ==== Running N=10 batched ==== Testing sgemm # args: ta=0 tb=0 m=128 n=128 k=128 alpha = (0x3f, 1) beta= (0xbf, -1) # args: lda=128 ldb=128 ldc=128 ^^^^ elapsed = 0.00016050 sec GFLOPS=261.327 @@@@ sgemm test OK Testing dgemm # args: ta=0 tb=0 m=128 n=128 k=128 alpha = (0xbff0000000000000, -1) beta= (0x00000, 2) # args: lda=128 ldb=128 ldc=128 ^^^^ elapsed = 0.00075190 sec GFLOPS=55.7827 @@@@ dgemm test OK Test Summary 0 error(s) 请按任意键继续. . .

至此,Samples手动编译并运行示例讲解结束,如有问题,可在评论去进行提问,或可加我的技术交流群,欢迎来访!

二、文件夹内容简介

在每个文件夹中,存放各类项目,0-6分别存放的项目类型为:

0_Introduction:

  • 作用:这些示例是为初学者设计的,展示了如何使用 CUDA 和 CUDA 运行时 API 的基本概念。通过这些简单的示例,你可以学习 CUDA 编程的基础知识,例如如何分配 GPU 内存、如何启动 CUDA 核函数等。
  • 适用场景:这是刚开始学习 CUDA 编程时的入门点,帮助你掌握基础概念和初步操作。

1_Utilities:

  • 作用:展示一些实用的工具,帮助开发者查询设备能力(例如 GPU 的计算能力)和测量 GPU/CPU 之间的带宽。这类示例有助于你了解设备的性能特性,并为优化 CUDA 程序做准备。
  • 适用场景:这些工具可以用于检测你的硬件环境,或者在开发 CUDA 应用时进行性能测试和评估。

2_Concepts_and_Techniques:

  • 作用:这些示例展示了 CUDA 相关的概念和常见的解决问题的技术,帮助你掌握如何在 CUDA 中实现并行算法和设计高效的计算解决方案。
  • 适用场景:适合需要学习如何应用 CUDA 并行计算的高级概念和技巧的开发者,帮助你解决实际开发中遇到的问题。

3_CUDA_Features:

  • 作用:展示 CUDA 的特性,如 Cooperative Groups、CUDA 动态并行、CUDA 图(CUDA Graphs)等。这些功能可以帮助你更有效地管理和优化 GPU 计算资源,并提高程序的性能。
  • 适用场景:适用于对 CUDA 高级特性感兴趣的开发者,这些特性可以用来实现复杂的并行任务管理和高级控制流优化。

4_CUDA_Libraries:

  • 作用:展示如何使用 CUDA 平台提供的各类库,包括 NPP(NVIDIA Performance Primitives)、NVJPEG、NVGRAPH、cuBLAS、cuFFT、cuSPARSE、cuSOLVER 和 cuRAND。这些库为常见的数学运算、图像处理、图算法等提供了高效的 GPU 加速实现。
  • 适用场景:如果你需要在你的项目中使用这些库来加速特定领域的计算(例如矩阵运算、图像处理、随机数生成等),这些示例将非常有帮助。

5_Domain_Specific:

  • 作用:展示了与特定领域(如图形、金融、图像处理)相关的 CUDA 示例。这些示例展示了如何在特定领域中利用 CUDA 进行优化和加速。
  • 适用场景:如果你正在从事特定领域(如金融建模、图形渲染、图像处理)的开发工作,这些示例将帮助你理解如何在这些领域中使用 CUDA 进行加速。

6_Performance:

  • 作用:展示了如何通过优化代码以提升 CUDA 程序的性能。这些示例包括对内存访问模式、线程调度、核函数优化等进行深入的优化。
  • 适用场景:这些示例适用于需要优化 CUDA 应用程序性能的开发者,通过分析和优化,可以最大化利用 GPU 资源。

创作不易,欢迎大家订阅📮、点赞👍、收藏📂与关注🔔,你的鼓励和支持将是我创作的最大动力💪!

转载请注明出处
作者:BQ
主页:bqcode.blog.csdn.net
公众号:BQ经验书
Learn Together!


【CUDA代码实践02】矩阵加法运算程序_cuda实现矩阵加法-CSDN博客

【CUDA代码实践03】m维网格n维线程块对二维矩阵的索引_二维线程·-CSDN博客

编程小号
上一篇 2024-12-09 12:02
下一篇 2024-12-09 11:53

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/clion/3675.html