我可以在主机代码上不使用 nvcc 的情况下使用 cuda 吗?

Can I use cuda without using nvcc on my host code?

我正在编写一个执行 cuda 内核的头文件库。我想知道是否有办法绕过 <<<>>> 语法,或者从 nvcc 获取 C 源代码输出?

您可以通过使用 CUDA driver API 来避免宿主语言扩展。它有点冗长,您将需要更多的样板代码来管理上下文,但这并不难。

通常,您会编译为 PTX 或二进制负载以在运行时加载,但是 NVIDIA 现在还提供了一个实验性的 JIT CUDA C 编译器库,libNVVM,如果您想要从源代码进行 JIT,您可以尝试使用它.