visual studio编译器设置对CUDA内核性能的影响

时间:2013-07-02 21:19:22

标签: visual-studio-2010 cuda compiler-optimization

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

1 个答案:

答案 0 :(得分:3)

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