这种反应可能为时已晚,但无论如何都值得注意。如果您希望使用模拟器或 LLVM 后端,GPU Ocelot(我是其中的核心贡献者之一)可以在不安装 CUDA 设备驱动程序 (libcuda.so) 的情况下进行编译。我已经在没有 NVIDIA GPU 的系统上演示了模拟器。
模拟器试图忠实地实现 PTX 1.4 和 PTX 2.1 规范,其中可能包含旧 GPU 不支持的功能。LLVM 转换器致力于从 PTX 到 x86 的正确和高效转换,这有望使 CUDA 成为编程多核 CPU 和 GPU 的有效方法。-deviceemu
很长一段时间以来,它一直是 CUDA 的一个弃用功能,但 LLVM 翻译器总是更快。
此外,模拟器中内置了几个正确性检查器来验证:对齐的内存访问,对共享内存的访问是否正确同步,以及全局内存取消引用访问分配的内存区域。我们还实现了一个主要受 gdb 启发的命令行交互式调试器,用于单步执行 CUDA 内核、设置断点和观察点等……这些工具是专门为加快 CUDA 程序的调试而开发的;您可能会发现它们很有用。
对不起,仅限 Linux 方面。我们已经启动了一个 Windows 分支(以及一个 Mac OS X 端口),但工程负担已经大到足以强调我们的研究追求。如果有人有任何时间和兴趣,他们不妨帮助我们提供对 Windows 的支持!
希望这可以帮助。