繁体   English   中英

如何在 Windows 上将其他 c++ 编译器与 CUDA 一起使用?

[英]How do I use other c++ compilers with CUDA on Windows?

我正在尝试使用 CUDA 构建一个简单的应用程序,我已经连续尝试了几个小时,但我无法让它在 windows 上运行。nvcc 绝对拒绝在没有不支持我需要的东西的 Visual Studio 编译器的情况下进行编译. 我尝试使用带有 clang 的 nvcc 进行构建,但它只是要求我使用 Visual Studio 的编译器。 我也尝试过直接使用 clang,因为它现在支持 CUDA,但我收到此错误:

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

这对我来说毫无意义,因为我有 CUDA 工具包版本 7.5,我的显卡是 GTX 970(其中两个)。 我在谷歌上广泛搜索了这个,在我遇到的任何地方,这个人总是遇到的错误是他们的 CUDA 工具包 < 7.5。 我现在快要哭了,试图让像 VLA 这样简单的东西来处理这个 CUDA 应用程序,但我无法实现它......

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

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

尝试使用 clang-cl, --cubin=clang-cl.exe

在 windows 内的 Linux VM 或 WSL2 上工作可能是值得的。根据 CUDA 文档。

要编译新的 CUDA 应用程序,需要一个用于 Linux x86 的 CUDA 工具包。 CUDA 对 WSL 的工具包支持仍处于预览阶段,因为分析器等开发人员工具尚不可用。 但是,在WSL2环境下完全支持CUDA应用开发,因此用户应该可以使用最新的CUDA Toolkit for x86 Linux编译新的CUDA Linux应用。

https://docs.nvidia.com/cuda/wsl-user-guide/index.html#:~:text=However%2C%20CUDA%20application%20development%20is,becomes%20available%20within%20WSL%202

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM