我可以在没有cuda设备的情况下编译cuda程序

时间:2013-11-25 07:25:58

标签: cuda compilation

是否可以在同一节点上编译CUDA程序而不使用支持CUDA的设备,仅使用NVIDIA CUDA工具包......?

2 个答案:

答案 0 :(得分:18)

你的问题的答案是肯定的。

nvcc编译器驱动程序与设备的物理存在无关,因此即使没有支持CUDA的GPU,也可以编译CUDA代码。但是请注意,正如Robert Crovella所说,CUDA驱动程序库libcuda.so(Windows的cuda.lib)附带NVIDIA驱动程序,而不是CUDA工具包安装程序。这意味着需要驱动程序API的代码(其入口点以cu为前缀,参见CUDA C编程指南的附录H)将需要在没有NVIDIA GPU的情况下强制安装“最近”的驱动程序,运行驱动程序安装程序与--help命令行开关分开。

遵循相同的原理,当您的节点托管不同架构的GPU时,您可以编译架构的CUDA代码。例如,您可以在托管GT 210的计算机(计算能力1.2)上编译GeForce GT 540M(计算能力2.1)的代码。

当然,在这两种情况下(没有GPU或具有不同架构的GPU),您将无法成功运行代码。

对于CUDA的早期版本,可以在仿真模式下编译代码并在CPU上运行已编译的代码,但设备仿真已经过时了一段时间。如果您没有支持CUDA的设备,但想要运行CUDA代码,您可以尝试使用gpuocelot(但我没有任何经验)。

答案 1 :(得分:0)

是的,即使您的笔记本电脑或计算机中没有专用的Nvidia GPU卡,也可以执行CUDA程序。

您可以使用Google Colab。请参阅以下教程,以了解有关如何完成此操作的更多信息。

https://www.youtube.com/watch?v=RwBOohDCdu0