我正在学习 cuda 5.5,但我没有任何 Nvidia GPU。在旧版本的nvcc中有一个标志--multicore来为CPU编译cuda代码。 在新版本的 nvcc 中,有什么选项?我正在 Linux 上工作。
至少从 CUDA 4.0 开始,CUDA 工具包不支持在没有 GPU 的情况下运行 cuda 代码的能力。
如果你只是想编译代码,请参考这个问题。
如果您想运行使用 CUDA 5.5 编译的 CUDA 代码,您将需要一个支持 CUDA 的 GPU。
如果您愿意使用较旧的 CUDA 工具包,您可以安装各种模拟器之一,例如这个。
或者您可以安装一个非常旧的(例如〜CUDA 3.0)cuda工具包,它能够在CPU上运行CUDA代码。
理想情况下,您能够访问兼容 CUDA 的 NVidia GPU。
但除此之外,这里有一个模拟器可能会有所帮助:
如果你有 Linux 机器,你也可以尝试 Ocelot:
在当前版本的 CUDA 中,程序在 GPU 上运行时直接进行调试。这远远优于旧版本的 CUDA,后者使用模拟器进行调试。当前版本的 CUDA 中的调试工具也更加强大。
因此,如果希望编写任何 CUDA 代码,支持 CUDA 的 GPU 卡将在您需要调试时立即为您带来投资回报。
您可以花很少的钱购买一张较旧的二手卡。检查每种计算功能的特征,以确定您愿意回溯到多远。
还有一些在线网站可以让您测试 CUDA 代码。 NVIDIA 有CUDA 测试驱动 计划。 Udacity 的并行编程简介课程包括用于编码作业的在线 CUDA 编译器。
现在可以通过使用 HIP 来完成(某种程度上)。
HIP 是一种 C++ 运行时 API 和内核语言,允许开发人员从单一源代码创建适用于 AMD 和 NVIDIA GPU 的可移植应用程序。
这还包括 CPU 运行时。 HIPIFY 是他们将 CUDA 源代码转换为 HIP 源代码的工具。