我有一个问题(CUDA)我可以在没有nvcc编译器的情况下在C执行内核函数吗?我问了这个问题,他们告诉我,如果你用C直接从CUDA驱动程序API调用Call,就可以了,这就更难了。
但我也希望得到其他人的反馈。
答案 0 :(得分:1)
目前,使用打包的nvidia提供的工具链,如果您在C中编写CUDA代码,则在某些时候将需要设备编译器(nvcc),以至少将此C源代码转换为有效的PTX。在那之后,工具包(包括nvcc)并非绝对必要。 PTX代码可以由驱动程序(与工具包分开)进行JIT编译,也可以是任何GPU使用的可执行代码。启动适当编写的内核(可能是从PTX编译JIT)的过程只需要调用driver API即可完成。
runtime API的创建部分是因为它可以简化流程并使整个代码创建过程看起来与典型的C / C ++程序员习惯相似。