标签:21 编程 线程 内存 GPU 全局 共享内存
1. GPU的内存模型
GPU编程数据需要从CPU主存拷贝到GPU全局存储器,所有线程共享全局存储。开辟的全局存储器空间指针在CPU代码中不能解引用使用,应在计算完结果后再拷贝回CPU主存空间。线程块内共享存储。
(1) 线程私有的存储有寄存器、本地内存
(2) 线程块内有块内线程共享的共享内存,在每个线程块上都有声明的共享内存数据副本
(3) 还有网格共享的全局内存、纹理内存、常量内存
(4) SM上的内存叫片上内存(速度快,延迟低,容量小,包含寄存器和共享内存),SM以外的叫片外内存(全局、本地、纹理内存)
2. GPU的线程层次
线程运行在六处理器SP上;线程块运行在流多处理器SM上,一个线程块内线程数量受限硬件限制,一般最大1024个线程,这些线程还会被组合成wrap线程束,共同工作或停止;一个网格含有多个线程块。
3. 线程定位
可以对线程、线程块、网格进行逻辑坐标定义,最多可用三维坐标定义一个线程块及线程,并且在核函数内,所有线程都可以根据三维坐标计算出一个一维的坐标值ID,可以在编程逻辑用来标识所有线程。
问题:
(1)线程切换0开销,隐藏延迟的的问题
标签:21,
编程,
线程,
内存,
GPU,
全局,
共享内存
From: https://www.cnblogs.com/anluo8/p/18622550