GPU架构与CUDA编程模型详解
创作时间:
作者:
@小白创作中心
GPU架构与CUDA编程模型详解
引用
CSDN
1.
https://blog.csdn.net/qq_64091900/article/details/143472200
随着人工智能和高性能计算的快速发展,GPU(图形处理器)和CUDA(Compute Unified Device Architecture)编程模型已成为重要的技术基础。本文将详细介绍GPU的体系结构和CUDA编程模型,帮助读者深入理解GPU的工作原理和编程方法。
GPU架构与CUDA编程模型
1. GPU体系结构
1.1 计算单元组织架构
结构 | 功能 |
---|---|
CUDA核心 | 类似ALU(算术逻辑单元),但远不如CPU灵活,可执行浮点运算/张量运算/光线追踪(高级核心) |
Warp | 多核心共用一个取指/译码器,按SIMT(单指令多线程)工作(所有线程指令相同/数据可不同) |
SM(流式多处理器) | 包含多组Warps,所有CUDA核心共用一套执行上下文(缓存)&共享内存 |
1.2 存储层次架构
- 不同SM能够访问相同的L2 Cache
- 显存与缓存之间的带宽极高,但是相比GPU的运算能力仍然有瓶颈
2. CUDA编程模型
2.1 CUDA程序简述
- CUDA程序的两部分
程序 | 运行位置 | 主要职责 |
---|---|---|
Host程序 | CPU | 任务管理/数据传输/启动GPU内核 |
Device程序 | GPU | 执行内核/处理数据 |
- Kernel即在GPU上运行的函数,如下简单内核定义示例
//通过__global__关键字声明内核函数
__global__ void VecAdd(float* A, float* B, float* C)
{
int i = threadIdx.x;
C[i] = A[i] + B[i];
}
int main()
{
//通过<<<...>>>中参数指定执行kernel的CUDA thread数量
VecAdd<<<1, N>>>(A, B, C);
}
2.2 线程并行执行架构
- 线程层次
结构 | 地位 | 功能 |
---|---|---|
Thread | 并行执行最小单元 | 执行Kernel的一段代码 |
Warp(32Threads) | 线程调度的基本单位 | 所有线程以SIMD方式执行相同指令 |
Block | GPU执行线程基本单位 | 使块内线程内存共享/指令同步 |
Grid | 并行执行的最大单元 | 执行整个内核(启动内核时必启动整个Grid) |
- 线程在计算单元的映射:线程层次↔ 层次对应 GPU
- 注意SM和Block不必1v1对应也可Nv1对应
- 线程在存储单元的映射
线程结构 | 可Access的内存结构 | 访问速度 |
---|---|---|
Thread | 每线程唯一的Local Memory | 极快 |
Block | 每块唯一的Shared Memory(块中每个线程都可访问) | 较快 |
所有线程 | 唯一且共享的Global Memory | 较慢 |
3. CPU与GPU
3.1 CPU/GPU结构对比
GPU | CPU | |
---|---|---|
ALU | 功能强但数量少(只占GPU小部),时钟频率极高 | 功能弱但数量大,时钟频率低 |
Cache | 容量大并分级,缓存后续访问数据 | 容量很小,用于提高线程服务 |
控制 | 复杂串行逻辑,如流水/分支预测/乱序执行 | 简单(但大规模)并行逻辑 |
3.2 CPU ↔ 数据 / 指令传输 PCIe GPU交互
设备 | 逻辑地位 | IO模块 | 任务分配 |
---|---|---|---|
GPU | 外设 | IO Block(南桥) | 控制逻辑和任务调度 |
CPU | 主机 | Copy Engine | 执行大量并行计算任务 |
热门推荐
B站抽奖风波背后的行业反思:游戏抽奖机制如何平衡公平与盈利?
头部游戏抽奖机制大揭秘:从概率到心理的全方位解析
抽奖类游戏的心理学秘密:你真的了解吗?
龙岩到龙硿洞怎么走:汽车站与动车站时刻表、路线及距离详解
从“炮制”到“智炮”,见证中药饮片的“不凡之路”
体验复兴号智能动车组,看他们怎么说
玫瑰、百合还是郁金香?不同花卉的花语解析
插花艺术入门:从基础技巧到专业水平
回南天防哮喘,你做对了吗?
回南天来袭!这些防潮妙招你get了吗?
广东人又要面对回南天啦!你准备好了吗?
南方回南天来袭!如何优雅应对潮湿?
金相府红枣酒:养生还是坑?一文读懂它的功效与风险
红枣泡酒真的能养生吗?专家揭秘!
徐州地锅鸡火遍抖音,带飞地方经济!
徐州地锅鸡:冬日聚会必选!
秋冬必打卡:徐州地锅鸡的美味秘密
从奥运故事蒐集“人物罐头”!建立写作取材的故事宝库
买来的花束怎么养:花束保鲜艺术,延长美丽花期的全方位养护指南
送花指南:不同场合适合的鲜花搭配推荐
昆明旅游:鲜花购买指南及当地特色花卉市场一览
胃食管反流的治疗药物
心脾两虚食疗方
糖尿病前期怎么控制主食
许慧欣:一个差一点成为天后的奇女子
西施文化在诸暨:从传承到创新的美丽蝶变
西施故里夜游灯会攻略:20元就能邂逅一场穿越千年的浪漫
国家卫健委推荐:糖尿病饮食禁忌全解析
北京中医药大学推荐:糖尿病饮食新指南
柿子树上的蚧壳虫怎样彻底消灭