0

在两台不同机器上编译的同一个 CUDA 内核的计算时间差异约为 3-4 倍。两个版本都在同一台机器和 GPU 设备上运行。解释差异的直接结论是不同的编译器设置。虽然没有单一的完美设置,并且应该根据内核自定义调整,但我想知道是否有任何明确的指导可以帮助选择正确的设置。我使用 Visual Studio 2010。谢谢。

4

1 回答 1

3
  1. 如果您想要最快的性能,请在发布模式下编译,而不是调试模式。传递给 nvcc 编译器的-G开关通常会对 GPU 代码性能产生负面影响。
  2. 通常建议为您编译的 GPU 选择正确的架构。例如,如果您有 cc 2.1 功能的 GPU,请确保将设置(GPU 代码设置中的 sm_21)传递给编译器。对此有一些反例(例如,为 cc 2.0 编译似乎运行得更快等),但作为一般建议,这是最好的。
  3. 使用最新版本的 CUDA(编译器)。这在使用 GPU 库(CUFFT、CUBLAS 等)时尤其重要(是的,这不是真正的编译器设置)
于 2013-07-02T21:37:34.843 回答