Memory 将int替换为short是否有助于提高CUDA的性能
假设我们有足够的全局内存。将Memory 将int替换为short是否有助于提高CUDA的性能,memory,cuda,Memory,Cuda,假设我们有足够的全局内存。将int替换为short是否会提高CUDA的性能?(如short保存共享内存、寄存器等的使用) 欢迎提出建议。谢谢。在共享内存中使用short很可能会由于银行冲突而降低性能,直到您使用short2 此外,据我所知,GPU上的所有寄存器都是32位的,因此使用short不太可能减少寄存器的使用。Tesla class hardware(SM 1.x)对“半寄存器”的支持非常丰富,因此在这些平台上使用short而不是int可能会让您受益匪浅。您可以通过使用cuobjdump查
int
替换为short
是否会提高CUDA的性能?(如short
保存共享内存、寄存器等的使用)
欢迎提出建议。谢谢。在共享内存中使用
short
很可能会由于银行冲突而降低性能,直到您使用short2
此外,据我所知,GPU上的所有寄存器都是32位的,因此使用short
不太可能减少寄存器的使用。Tesla class hardware(SM 1.x)对“半寄存器”的支持非常丰富,因此在这些平台上使用short而不是int可能会让您受益匪浅。您可以通过使用cuobjdump查看cubin中的微码来进行确认。但费米取消了这种支持
对于SM 2.1,NVIDIA增加了对“视频”指令的支持,这些指令在32位寄存器上实现32位宽的SIMD操作-请参阅PTX 2.1规范第8.7.9节
取决于:
如果您的程序内存有限,则是将输入传输为短消息可能是有益的
如果内核受计算限制,则更可能是否,因为内核每次都必须执行额外的操作,从short转换为int,然后再转换回short。是的,我认为32位寄存器是限制因素。