如何使用软件实现在没有 GPU 的情况下运行 CUDA?

Posted

技术标签:

【中文标题】如何使用软件实现在没有 GPU 的情况下运行 CUDA?【英文标题】:How to run CUDA without a GPU using a software implementation? 【发布时间】:2010-12-17 17:54:16 【问题描述】:

我的笔记本电脑没有 nVidia 显卡,我想在 CUDA 上工作。该网站说 CUDA 也可以在非 cuda 硬件上以仿真模式使用。但是当我尝试安装从他们的网站下载的 CUDA 驱动程序时,它会给出错误“nvidia 安装程序找不到与您当前硬件兼容的任何驱动程序。安装程序现在将退出”。

此外,当我尝试在 Visual Studio 2008 中从 SDK 运行示例代码时,我收到一个错误,即找不到 .obj 文件。

【问题讨论】:

我知道已经两年多了,但您应该接受已经给出的答案之一。 Nils 的回答非常合适。 GPU Emulator for CUDA programming without the hardware的可能重复 【参考方案1】:

开始进行 GPU 开发的最简单方法是获得便宜的(例如 GTX285)GPU 和台式计算机(显然,因为您无法更换笔记本电脑中的 GPU)。

有一些关于让 CUDA 内核在 CPU 和 FPGA 上高效工作的研究项目(Google wen mei hwu 并查看他的研究项目)但是,如果您想学习 CUDA,这不适合您,如上所述最简单的方法是购买一些便宜的硬件。

【讨论】:

【参考方案2】:

您是否下载了 CUDA 工具包?您需要下载工具包(包括编译器和运行时库)和 SDK。在构建 SDK 示例时,请务必将配置更改为“EmuDebug”或“EmuRelease”。

【讨论】:

Emulation 不再支持,目前可以看PGI的CUDA x86编译器或者GPU Ocelot。 @Tom 是不是在 CUDA 10.0.13 等较新版本中不支持仿真? @AAEM 是正确的,没有仿真。如果您没有 GPU,那么您可以从 AWS、Azure 或 Google 等云提供商处租用吗?不是免费的,但您可以在本地完成所有编译和分析,无需 GPU。【参考方案3】:

现在我们有 OpenCL。它几乎适用于您可以拥有的所有硬件:CPU、GPU(nvidia 或 amd)、APU、FPGA 等。

(我在这里搜索非 nvidia 硬件中的 CUDA 编译 - 用于与 OpenCL 进行比较 - 但显然它仍然只适用于 nvidia。悲伤:/)。

【讨论】:

以上是关于如何使用软件实现在没有 GPU 的情况下运行 CUDA?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Linux平台下的MATLAB中调试.CU文件

可以在没有 GPU 的情况下运行 nvidia-docker 吗?

GPU cuda代码可以在多个GPU卡上运行而无需任何实现吗?

在没有物理 NVidia GPU 卡的虚拟机上运行 CUDA

Linux环境下如何查看内存CPU和GPU使用情况以及界面标题栏实现

在没有管理员访问权限的情况下使用 Python 获取 CPU 和 GPU 温度 - Windows