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 | 执行大量并行计算任务 |
热门推荐
网络分线器与交换机的区别(深入解析网络分线器和交换机的功能和特点)
维生素A过多症怎么预防
领略中国古诗词之美——《山行》
火树银花映社火,秧歌曼舞寄福来
缠论交易法:在混沌中寻找结构的艺术
四海为家的意思是什么?理解成语四海为家
使用思维导图进行SWOT分析的全面教程
如何确保高铁出站流程的顺畅与安全?乘客在出站时应注意哪些细节?
穿过苏拉威西海,辽宁舰"甩掉"的不只是054A
北京大学团队在绿色制氢领域取得重大突破
8个月的宝宝怎么添加辅食?不要错过咀嚼敏感期,多尝试末状食物
2024日本票房大赏:《柯南》领跑,本土佳作霸榜!
1GB流量能打几个小时语音?这些实用数据让你一目了然
Markdown转PDF公式显示问题完全指南
印度尼西亚最好的三款咖啡豆产区品种特点 印尼咖啡史处理方法味道
画笔绘故事、文字递能量,雷锋精神在他们心中扎下了根
可大幅提高生存率!深大总医院成功开展华南首例新辅助+手术治疗肝内胆管癌
年轻人引领可持续消费新趋势:77%中国消费者认同绿色生活
解析脑瘫症状、治疗与护理要点
钱钟书《写在人生边上》:人活着,到底是为了什么
燕麦升糖指数是多少?从55到83,不同加工与烹饪方式
GABA是什么?GABA助眠功效、副作用,让脑科学专家告诉你!
岩金矿提炼黄金的四种方法,你GET了吗?
武汉大学口腔医院是公立还是私立?
业内人士剖析:全屋定制避坑指南(环保篇1-胶水和认证)
白班晚班考勤核算制度的核心要素解析
营运车和非营运车的区别是什么?
“雪王”上市,资金提前“埋伏”港股消费类ETF?
LPR房贷利率怎么计算?掌握这些关键点,轻松理解贷款利率
请放慢脚步去留意身边平淡生活中的美好