我发现Visual Studio存在一些问题。我使用openMP
多线程的项目在Visual Studio 2010上比在Dev-C ++上慢两倍,现在我编写了另一个使用CUDA技术的项目,我认为我的项目因为Visual Studio而运行缓慢,所以我需要其他一些支持CUDA的编译器,我的问题是:
是Dev-C ++支持CUDA吗?
除Visual Studio之外哪些编译器支持CUDA?
如果有很多支持CUDA的编译器会给出最佳应用速度吗?
答案 0 :(得分:3)
CUDA工具包Release Notes列出了支持的平台和编译器。
答案 1 :(得分:0)
嗯,我认为这是相反的方式。问题是,有一个名为nvcc
的驱动程序。它生成设备代码和主机代码,并将主机代码发送给编译器。它应该是一个C编译器,它应该在可执行路径中。 (编辑:它应该是Linux上的gcc和Windows上的cl,我认为我应该忽略mac作为发行说明(?))
nvcc编译器信息显示:
以下nvcc需要通用C编译器 情况:
在非CUDA阶段(运行阶段除外),因为这些阶段将由nvcc转发到此编译器
- 醇>
在CUDA阶段,有几个预处理阶段(另见0)。在Linux平台上,编译器被假定为'gcc'或'g ++'用于链接。在Windows平台上,编译器被假定为“cl”。该 编译器可执行文件应该在当前可执行文件中 搜索路径,除非指定了选项-compiler-bin-dir,其中 case该选项的值必须是目录的名称 这些编译器可执行文件所在的位置。
请不要那样谈论编译器。您的代码使用Dev-C ++可以更好地工作。生成的是汇编代码。我不是说它们没有任何区别,但可能是4%到5%,而不是100%。
绝对绝对不会责怪编译器的慢速程序。这肯定是因为低效的内存访问和不正确使用不同类型的内存。