x64 vs x86 for CUDA

x64 vs x86 for CUDA

本文关键字:CUDA for x86 vs x64      更新时间:2023-10-16

在此线程中,x64 允许每个块的线程数少于 Win32? 有一个关于寄存器用完的问题。我的印象是 Nvidia 在 CUDA 7.5 及更高版本中放弃了对 x86 的支持。这可能是一个愚蠢的问题,但这是否意味着所有指针都需要两个寄存器?而且可能减少的线程/块将是未来的工作方式?

这可能是一个愚蠢的问题,但这是否意味着所有指针都需要两个寄存器?

是的。 x64 模式下的所有指针都需要 2(32 位(寄存器进行存储。

而且可能减少的线程/块将是未来的工作方式?

当然,应该不会影响可以启动的区块数量。 关于线程,是的,对每个块的线程有潜在的影响(因为每个块启动的线程乘以每个线程的寄存器乘积必须低于机器限制(,但正如我在回答您链接的问题时所说,线程的限制通常可以使用其中提到的几种方法之一来解决。 许多内核不会受到影响,因为它们没有"达到极限"。 对于那些"达到极限"的内核,有一些成熟的技术可以减轻这种影响,并允许您每个块运行所需数量的线程,最多 1024 个。

最终,这意味着所呈现的问题与其说是功能问题,不如说是性能优化问题,而性能优化问题将始终存在。