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位寄存器是限制因素。