高性能计算-GPU编程模型(21)

1. GPU的内存模型

GPU编程数据需要从CPU主存拷贝到GPU全局存储器,所有线程共享全局存储。开辟的全局存储器空间指针在CPU代码中不能解引用使用,应在计算完结果后再拷贝回CPU主存空间。线程块内共享存储。

(1) 线程私有的存储有寄存器、本地内存

(2) 线程块内有块内线程共享的共享内存,在每个线程块上都有声明的共享内存数据副本

(3) 还有网格共享的全局内存、纹理内存、常量内存

(4) SM上的内存叫片上内存(速度快,延迟低,容量小,包含寄存器和共享内存),SM以外的叫片外内存(全局、本地、纹理内存)

2. GPU的线程层次

线程运行在六处理器SP上;线程块运行在流多处理器SM上,一个线程块内线程数量受限硬件限制,一般最大1024个线程,这些线程还会被组合成wrap线程束,共同工作或停止;一个网格含有多个线程块。

3. 线程定位

可以对线程、线程块、网格进行逻辑坐标定义,最多可用三维坐标定义一个线程块及线程,并且在核函数内,所有线程都可以根据三维坐标计算出一个一维的坐标值ID,可以在编程逻辑用来标识所有线程。

问题:

(1)线程切换0开销,隐藏延迟的的问题

image

posted @   安洛8  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
点击右上角即可分享
微信分享提示