CUDA中的全局内存访问合并-Maxwell体系结构

时间:2019-06-16 08:55:11

标签: parallel-processing cuda gpu nvidia

我有在具有CUDA计算功能5.0的Geforce 940m(麦克斯韦架构)上运行的矩阵乘法代码。我已使用NVIDIA Visual Profiler来测量全局负载事务数和每个请求的全局负载事务数。我已经手动计算了从全局内存读取的次数,并将其除以Profiler的事务数。结果始终为4。我的每个扭曲都访问32个浮点数的对齐块:float x = A[n*32+tx]...,其中tx是线程索引中的第一个坐标。我希望所有32个浮点数都可以在一个128字节的事务中传输。为什么在我的情况下指令与交易的比率始终为4?我还测量了每个请求的全局负载,该负载始终为8,这似乎与我的计算相符-每个事务4个浮动,因此对于一个请求,每32个浮动8个事务。

我认为这与缓存有关,但是找不到确切的工作方式。有人已经有一个类似的问题,但是答案无法解释为什么答案中所述的情况1中的麦克斯韦对麦克斯韦来说是4。*Modified* Nvidia Maxwell, increased global memory instruction count

0 个答案:

没有答案