用户
 找回密码
 立即注册
ayangdanny 该用户已被删除
发表于 2013-10-23 10:20:06
98253
请问 共享内存的大小有没有限制,是因不同显卡大小确定的吗?有限制的话,是块数*共享内存大小有限制,还是单个共享内存大小有限制??
使用道具 举报 回复
发表于 2013-10-23 12:00:54
LZ您好:

1:shared memory的大小是有限制的,这个限制是以block为单位的,即每block最多48KB。(1.x硬件是每block最多16KB;2.x是最多48KB,可以配置为16KB或者48KB;3.x硬件是最多48KB,可以配置为16KB,32KB或48KB)。

2:shared memory大小限制和显卡尺寸大小无关,和显存大小也无关系。

3:shared memory实际上是GPU 芯片中的高速cache,每个SM拥有最多48KB可以划分为shared memory的这种cache资源,以及因为一个block是在一个SM上执行的,所以一个block最多可以使用48KB(1.x下16KB)的shared memory(此时一个SM上也只能resident一个block)。当该block执行完成的时候,将释放所占用的shared memory资源,供下一个加载到该SM上的block使用。

4:综上,shared memory的总大小虽然可以用grid内最大block数量*每block最大使用shared memory数量得到,但是这个数值没有什么意义。只有单一block所能使用的shared memory的大小有意义,以及如上所述,在当前的主流硬件上,这个值最大是48KB。

大致如此,供您参考。

祝您编码顺利~
使用道具 举报 回复 支持 反对
发表于 2013-10-23 15:37:47
非常感谢!
使用道具 举报 回复 支持 反对
发表于 2013-10-23 15:42:21
ayangdanny 发表于 2013-10-23 15:37
非常感谢!

不客气的,欢迎您常来~
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册