什么编译器支持CUDA

时间:2013-02-16 16:18:33

标签: visual-studio-2010 compiler-construction cuda dev-c++

我发现Visual Studio存在一些问题。我使用openMP多线程的项目在Visual Studio 2010上比在Dev-C ++上慢两倍,现在我编写了另一个使用CUDA技术的项目,我认为我的项目因为Visual Studio而运行缓慢,所以我需要其他一些支持CUDA的编译器,我的问题是:

  1. 是Dev-C ++支持CUDA吗?

  2. 除Visual Studio之外哪些编译器支持CUDA?

  3. 如果有很多支持CUDA的编译器会给出最佳应用速度吗?

2 个答案:

答案 0 :(得分:3)

CUDA工具包Release Notes列出了支持的平台和编译器。

答案 1 :(得分:0)

嗯,我认为这是相反的方式。问题是,有一个名为nvcc的驱动程序。它生成设备代码和主机代码,并将主机代码发送给编译器。它应该是一个C编译器,它应该在可执行路径中。 (编辑:它应该是Linux上的gcc和Windows上的cl,我认为我应该忽略mac作为发行说明(?))

nvcc编译器信息显示:

  

以下nvcc需要通用C编译器   情况:

     
      
  1. 在非CUDA阶段(运行阶段除外),因为这些阶段将由nvcc转发到此编译器

  2.   
  3. 在CUDA阶段,有几个预处理阶段(另见0)。在Linux平台上,编译器被假定为'gcc'或'g ++'用于链接。在Windows平台上,编译器被假定为“cl”。该   编译器可执行文件应该在当前可执行文件中   搜索路径,除非指定了选项-compiler-bin-dir,其中   case该选项的值必须是目录的名称   这些编译器可执行文件所在的位置。

  4.   

请不要那样谈论编译器。您的代码使用Dev-C ++可以更好地工作。生成的是汇编代码。我不是说它们没有任何区别,但可能是4%到5%,而不是100%。

绝对绝对不会责怪编译器的慢速程序。这肯定是因为低效的内存访问和不正确使用不同类型的内存。