摘要: 在https://www.cnblogs.com/xiaoxiaoyibu/p/11402607.html中介绍了使用一个包含N个线程的线程块和共享内存进行数组归约求和, 基本思路: 定义M个包含N个线程的线程块时(NThreadX = ((NX + ThreadX - 1) / ThreadX)) 阅读全文
posted @ 2019-08-23 22:37 小小一步 阅读(1234) 评论(0) 推荐(0) 编辑
摘要: 共享内存(shared memory)是位于SM上的on-chip(片上)一块内存,每个SM都有,就是内存比较小,早期的GPU只有16K(16384),现在生产的GPU一般都是48K(49152)。 共享内存由于是片上内存,因而带宽高,延迟小(较全局内存而言),合理使用共享内存对程序效率具有很大提升 阅读全文
posted @ 2019-08-23 20:59 小小一步 阅读(3428) 评论(0) 推荐(0) 编辑
摘要: 问题:使用CUDA进行数组元素归约求和,归约求和的思想是每次循环取半。 详细过程如下: 假设有一个包含8个元素的数组,索引下标从0到7,现通过3次循环相加得到这8个元素的和,使用一个间隔变量,该间隔变量随循环次数改变(累乘)。 第一次循环,间隔变量stride等于1,将0与1号元素、2与3号元素、4 阅读全文
posted @ 2019-08-23 20:19 小小一步 阅读(1943) 评论(0) 推荐(0) 编辑