1

我希望能够在 NVidia 上以 GPU 模式运行我的软件,并在 ATI 或 Intel 上以 CPU(软件)模式运行我的软件。我怎样才能做到这一点?

这与 PhysX 的工作原理相同。

目前我在 ATI 卡机器上收到一个错误,指出未找到 nvcuda.dll。

请不要建议 OpenCL。 这个问题和我的类似。但是我不能接受 OpenCL 的答案。

我在 Windows 7 + Visual Studio 2008 上

4

2 回答 2

8

将其转换为答案:

有一个名为 GPU Ocelot 的软件可以确定在运行时运行 gpu 代码的硬件:http ://code.google.com/p/gpuocelot/

通过 Ocelot 运行所有呼叫,您应该一切顺利。

从主页:

Ocelot是一个模块化的异构系统动态编译框架,为CUDA程序提供各种后端目标,为PTX虚拟指令集提供分析模块。Ocelot 目前允许 CUDA 程序在 NVIDIA GPU、AMD GPU 和 x86-CPU 上全速执行,无需重新编译。

于 2012-04-06T13:24:45.530 回答
1

现在有在非 NVidia 硬件上运行 CUDA 的举措,例如 Otoy:http: //venturebeat.com/2016/03/09/otoy-breakthrough-lets-game-developers-run-the-best-graphics-software -跨平台/

本质上,它将 CUDA 调用转换为其他后端(Metal、Vilkan、DirectX、OpenGL),以允许为 CUDA 编写的应用程序在一系列平台上运行。目前尚不清楚是否可以简单地将他们的 nvcuda.dll 放在正确的位置,从而立即让您的应用程序运行,或者开发人员是否必须在部署软件之前进行更改。

到目前为止,还没有公开发布 afaik。

于 2016-09-09T10:56:46.783 回答