如何在Windows上使用其他C ++编译器与CUDA?

我试图用CUDA构build一个简单的应用程序,我一直在尝试几个小时,我只是不能让它在Windows上工作。 如果没有Visual Studio的编译器不支持我需要的东西,nvcc绝对拒绝编译。 我尝试用clang构buildnvcc,但它只是要求我使用Visual Studio的编译器。 我也试过直接使用clang,因为它现在支持CUDA,但是我收到这个错误:

clang++.exe: error: Unsupported CUDA gpu architecture: compute_52 

这对我来说没有意义,因为我有CUDA工具包版本7.5,而我的graphics卡是GTX 970(其中两个)。 我已经广泛地使用了这个search引擎,而且在任何地方遇到错误的人总是有他们的CUDA工具包<7.5。 我现在正濒临眼泪,试图让VLA这样简单的工作在这个CUDA应用程序上,而我无法实现它…

CUDA窗口工具链需要 Visual Studio C ++编译器。 你不能在该平台上使用其他任何东西。 如果VS编译器不支持您在CUDA主机代码中需要的语言功能,您别无选择,只能更换平台或您的期望。

您仍然可以使用其他编译器编译非CUDA主机代码,然后使用NVCC和VS工具链链接该代码。