【发布时间】:2020-03-29 02:24:26
【问题描述】:
我已在 Windows 7 上安装了 cuda 工具包,并已成功使用 VS 2017 运行 CUDA 代码。现在,我想在 Windows 上配置 Dev-cpp 来运行我的 CUDA 代码。
【问题讨论】:
-
你不能。您必须在 Windows 上将 Microsoft 工具链与 CUDA 一起使用
-
即使您找到了解决答案中建议的工具链互锁的方法,您也应该意识到工具链集成的过程不仅仅是一个机械过程。之所以存在这些互锁,是因为主机工具链和设备工具链必须就一些重要的行为达成一致,其中一些在 CUDA 编程指南中进行了介绍。 NVIDIA 没有设计意图来支持 Windows 上的其他主机编译器(MSFT
cl.exe除外),任何试图绕过机制来实现这一点的尝试都意味着您处于未经测试和不受支持的领域。 -
感谢@talonmies 和 Robert 的指导。
-
@RobertCrovella NVRTC,正如我最初在回答中所建议的那样,可以按设计独立于主机工具链使用。但是,我同意我的回答在其原始版本中确实使工具链集成问题听起来比实际问题更简单。我已经用更多细节扩展了我的答案,希望能涵盖这些要点……
-
NVRTC 的使用不会以任何方式否定它与受支持的主机工具链一起使用的要求。 NVRTC 文档本身声明它是 CUDA 工具包的一部分,因此正确使用 CUDA 工具包的要求也适用于 NVRTC。例如,如果您有一个主机工具链,它在 linux 上将
int解释为 64 位数量(从语言的角度来看完全合法),如果任何int参数作为 NVRTC 内核调用的一部分传递,它将中断,因为Linux 上的 CUDA 设备代码(NVRTC 与否)将int解释为 32 位数量。