CUDA扫盲篇

一、什么是GPU?

GPU 是 Graphics Processing Unit(图形处理单元)的缩写,又称为显。它是一种专门用于处理图形和图像计算的硬件设备。与 CPU(中央处理器)相比,GPU 在并行计算方面具有更强大的性能。具体来说,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器
在这里插入图片描述
GPU的性能指标可以根据不同的应用和需求进行评估。以下是一些常见的GPU性能指标:

  1. GPU核心数量:GPU核心是处理图形和计算任务的关键部件。更多的核心通常意味着更强大的性能。
  2. GPU频率:GPU频率指的是GPU核心的运行速度,通常以赫兹(Hz)为单位。较高的频率意味着更快的计算速度。
  3. 内存带宽:GPU内存带宽是指GPU与显存之间数据传输的速度。较高的内存带宽可以提高数据处理和传输的效率。
  4. 显存容量:显存是GPU用于存储图像、纹理和其他计算数据的内存。较大的显存容量可以处理更复杂的图形和计算任务。
  5. 浮点运算性能:浮点运算性能描述了GPU在执行浮点数计算时的能力。通常以每秒浮点运算数(FLOPS)为单位进行衡量。
  6. 计算能力:计算能力是一个用于衡量GPU处理器的性能指标,通常以CUDA核心数和每个核心每个时钟周期可执行的操作数来衡量。
  7. 吞吐量:吞吐量指的是GPU在单位时间内处理和传输数据的能力,通常以每秒处理的数据量(GB/s)为单位。

二 CPU+GPU异构架构

GPU不能实现独运算,而需要与CPU协同工作,也就常说的GPU并行计算:基于CPU(擅长逻辑处理 )+GPU(侧重数字运算)的异构计算架构,如下图所示,GPU与CPU通过PCIe总线连接在一起来协同工作,CPU所在位置称为为主机端(host),而GPU所在位置称为设备端(device)。
在这里插入图片描述
可以看到GPU包括更多的运算核心,其特别适合数据并行的计算密集型任务,如大型矩阵运算,而CPU的运算核心较少,但是其可以实现复杂的逻辑运算,因此其适合控制密集型任务。另外,CPU上的线程是重量级的,上下文切换开销大,但是GPU由于存在很多核心,其线程是轻量级的。因此,基于CPU+GPU的异构计算平台可以优势互补,CPU负责处理逻辑复杂的串行程序,而GPU重点处理数据密集型的并行计算程序。

三、什么是CUDA?

2006年,NVIDIA公司发布了CUDA,CUDA是建立在NVIDIA的CPUs上的一个通用并行计算平台和编程模型,基于CUDA编程可以利用GPUs的并行计算引擎来更加高效地解决比较复杂的计算难题。近年来,GPU最成功的一个应用就是深度学习领域,基于GPU的并行计算已经成为训练深度学习模型的标配。目前,最新的CUDA版本为CUDA 12.2。

四、CUDA编程语言

CUDA提供了GPU编程的简易接口,基于CUDA编程可以构建基于GPU计算的应用程序。CUDA提供了对其它编程语言的支持,如C/C++,Python,Fortran等语言,主流选择CUDA C/C++接口。
在这里插入图片描述
CUDA提供两层的API接口:驱动(driver)API和运行时(runtime)API。这两种API调用性能相差无几,因此通常选择更容易编程的Runtime API。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力当总裁的郭琛予

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值