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

DEV*_*DEV 14 cuda compilation

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

Jac*_*ern 22

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

nvcc编译器驱动程序是不相关的设备的物理存在,所以你可以编译CUDA代码即使没有CUDA的GPU.但是请注意,正如Robert Crovella所说,CUDA驱动程序库libcuda.so(cuda.lib适用于Windows)附带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(但我没有任何经验).

  • 8年前,情况并非如此。 (6认同)