2026-3-28 GPU编程基础
1 显卡与GPU概念梳理
| 概念 | 说明 |
|---|---|
| 显卡 | 显示接口卡,负责数模信号转换和图形输出 |
| GPU | 图形处理单元,显卡上的计算芯片 |
| 集成显卡 | 集成在主板上,使用物理内存 |
| 独立显卡 | 插在AGP/PCIe接口上,有独立显存 |

2 图形流水线基础
- 像素:显示器的基本单元,由RGB三原色组成(各8位,共24位,可以表示2的24次方为1677万中颜色)
- 帧缓存(Frame Buffer):内存中一块与显示器像素一一对应的区域
- 早期显卡:只是图像搬运工,无计算功能
- 可编程流水线:加入Shader(着色器)之后,GPU开始具备可编程能力
3 GPGPU 通用GPU计算
- General Purpose Computing on GPU, GPGPU,基于GPU的通用计算
- 诞生背景:CPU的浮点运算FPU性能的提升跟不上需求,而GPU的结构特征擅长浮点计算
- 早期GPGPU缺点:常需用图像API欺骗GPU计算;硬件资源使用不充分;存储器访问受限;调试困难

4 GPU的发展阶段
| 代际 | 时期 | 特点 |
|---|---|---|
| 第一代 | 1999年前 | 部分功能从CPU分离,硬件加速 |
| 第二代 | 1999-2002年 | 进一步硬件加速,有限编程性 |
| 第三代 | 2002年后 | 方便的编程环境(CUDA) |

5 GPU的并行性与CUDA概述
- CUDA:基于C语言的GPU编程模型
- OpenCL:跨平台GPU编程标准,主要是为了支持Intel AMD
- 异构计算:意思是CPU+GPU协同工作,GPU为协处理器


GPU的每一个处理器性能可能比不过CPU里面的一个处理器,但是GPU是通过提高对于任务的吞吐量来实现性能的提升的,有很多个核进行工作


6 理解CUDA编程模型的关键概念
| 术语 | 含义 |
|---|---|
| 主机端(Host) | CPU端代码 |
| 设备端(Device) | GPU端代码 |
| nvcc编译器 | 同时编译CPU和GPU代码 |
| 线程组织 | Grid → Block → Thread 三级结构 |






浙公网安备 33010602011771号