这是一个有点愚蠢的问题,但我想知道 CUDA 使用解释器还是编译器?
我很想知道,因为我不太确定 CUDA 如何设法让源代码在具有不同计算能力的两张卡上运行。
来自维基百科 http://en.wikipedia.org/wiki/CUDA:
程序员使用“C for CUDA”(具有 Nvidia 扩展和某些限制的 C),通过 PathScale Open64 C 编译器进行编译。
所以,你的答案是:它使用编译器。
并谈谈它可以在多张卡上运行的原因(source http://developer.nvidia.com/cuda-faq):
CUDA C/C++ 提供了一种抽象,它是您表达程序如何执行的一种方式。编译器生成的 PTX 代码也不是特定于硬件的。在运行时,PTX 会针对特定目标 GPU 进行编译 - 这是驱动程序的责任,每次发布新 GPU 时都会更新驱动程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)