《CUDA编程》1.GPU硬件与CUDA环境搭建

devtools/2024/9/24 3:36:39/

1 GPU 介绍

GPU(graphics processing unit),意为图形处理器,也被称为显卡(graphics card)。GPU的浮点数运算峰值就比同时期的CPU高一个量级;GPU的内存带宽峰值也比同时期的CPU高一个量级。

CPU和GPU的显著区别是: 一个典型的CPU拥有少数几个快速的计算核心,而一个典型的GPU拥有几百到几千个不那么快速的计算核心。所以,GPU是靠众多的计算核心来获得相对较高的计算性能的。
在这里插入图片描述

GPU计算不是指单独的GPU计算,而是指CPU+GPU的异构(heterogeneous)计算。一块单独的GPU 是无法独立地完成所有计算任务的,它必须在CPU 的调度下才能完成特定任务。

通常将起控制作用的CPU 称为主机(host),将起加速作用的GPU 称为设备(device)。主机和(非集成)设备都有自己的DRAM(dynamicrandom-access memory,动态随机存取内存),它们之间一般由PCIe总线(peripheral component interconnect express bus)连接。

2 CUDA程序开发工具介绍

CUDA 编程语言是基于C/C++语言。

CUDA提供了两层API,即CUDA驱动(driver)CUDA运行时(runtime)

其中,CUDA驱动是更加底层的API,它为程序员提供了更为灵活的编程接口;CUDA运行时API是
在CUDA驱动API的基础上构建的一个更为高级的API,更容易使用。这两种API在性能上几乎没有差别。 故本书只涉及runtime API,下图展示了CUDA开发环境的主要组件。
在这里插入图片描述

3 CUDA环境搭建

这里介绍Windows环境搭建、Linux环境搭建请自行搜索。

IDE选择Visual Studio Community 2022 ,CUDA版本选择Windows_X86_64_10,CUDA下载连接,Installer Type随便选
在这里插入图片描述
安装好后打开CMD进入cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\替换成你的\extras\demo_suite,然后再输入“bandwidthTest.exe”和“deviceQuery.exe”,输出中Result=PASS就代表安装成功了
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/devtools/116303.html

相关文章

weblogic CVE-2018-2894 靶场攻略

漏洞描述 Weblogic Web Service Test Page中⼀处任意⽂件上传漏洞,Web Service Test Page 在 "⽣产模式"下默认不开启,所以该漏洞有⼀定限制。 漏洞版本 weblogic 10.3.6.0 weblogic 12.1.3.0 weblogic 12.2.1.2 28 weblogic 12.2.1.3 …

Spring(四)多线程+异步任务执行服务+常见的Enable注解+SpringUnit测试

Spring多线程 Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程ThreadPoolTaskExecutor实现一个基于线程池的TaskExecutor配置类中EnableAsync开启对异步任务的支持使用Async声明该任务为异步 ①、配置类 Configuration ComponentScan(&quo…

CVC输入语言

声明 位向量表达式(或项)由位向量常数、位向量变量以及下列函数构成。在STP中,所有变量必须在使用前声明。声明一个长度为32的位向量变量的例子是:x : BITVECTOR(32);。声明数组的例子如下: x_arr : ARRAY BITVECTOR(…

文本分类实战项目:如何使用NLP构建情感分析模型

文本分类实战项目:如何使用NLP构建情感分析模型 一、引言 随着互联网的迅速发展,用户在社交媒体、产品评论、论坛等平台上产生了大量的文本数据。通过分析这些数据,我们可以了解用户的情绪和态度,而情感分析就是专门用于分析文本…

伦敦金的交易差价意味着什么?

在伦敦金投资市场上,点差是指交易平台的买入价(买价)和卖出价(卖价)之间的差额。对投资者来说,点差是交易成本的一部分,但它是经纪商的收入来源。点差代表伦敦金投资者在进入和退出交易时需要支…

C#基础(13)结构体

前言 随着函数的讲解完成,我想你已经初步有了写一些复杂逻辑功能的能力,但是我们会发现其实在我们大部分实际开发情况中,很多我们需要写的变量可能不只有一个属性。 他可能有很多变量,那这时候我们如果要把这些变量集中到一个东…

LabVIEW提高开发效率技巧----使用LabVIEW工具

LabVIEW为开发者提供了多种工具和功能,不仅提高工作效率,还能确保项目的质量和可维护性。以下详细介绍几种关键工具,并结合实际案例说明它们的应用。 1. VI Analyzer:自动检查代码质量 VI Analyzer 是LabVIEW提供的一款强大的工…

通过多模态关系图学习实现可解释的医学图像视觉问答|文献速递--Transformer架构在医学影像分析中的应用

Title 题目 Interpretable medical image Visual Question Answering via multi-modal relationship graph learning 通过多模态关系图学习实现可解释的医学图像视觉问答。 01 文献速递介绍 医学视觉问答(VQA)是医学多模态大语言模型(LL…