【问题标题】:Run OpenCL without compatible hardware?在没有兼容硬件的情况下运行 OpenCL?
【发布时间】:2014-10-21 16:24:30
【问题描述】:

我有两台电脑:

  • 新型高端台式电脑,兼容 OpenCL 的 CPU 和 GPU,32GB RAM
  • 一台非常旧的笔记本电脑,Intel Celeron CPU,512MB RAM,Ati M200 GPU

我正在我的台式电脑上编写一个 OpenCL/C++ 软件。但是当我去某个地方旅行时,我会继续使用我的老式笔记本电脑工作。在这台笔记本电脑上编程 C++ 很好,但我无法尝试我的代码的 OpenCL 部分。所以这次我在写OpenCL代码,但是不知道好不好。

有没有办法虚拟化兼容 OpenCL 的 CPU/GPU?我不想获得高性能,我只想尝试我的代码,不管它是否非常慢(比我在我的 Celeron CPU 上运行它的 1 线程慢)。

我猜,答案是否定的。

(顺便说一句,我的计划是,我的程序中会有一个选项,你可以在有或没有 OpenCL 的情况下运行它。这也是衡量性能、比较 OpenCL CPU/GPU 和 1 线程 CPU 所必需的没有 OpenCL 的模式。)

几乎是一个答案,但不完全是我想要的:http://www.acooke.org/cute/Developing0.html

【问题讨论】:

标签: c++ opencl


【解决方案1】:

对于所有现有的 OpenCL 实现,您需要某种形式的 SSE。

收集所有这些信息的网站是here

AMD OpenCL 驱动程序提供最低要求,需要 SSE3。如列表所示,这可以追溯到 Pentium 4 后期。

为了确定您的 CPU 的功能,您需要使用类似 CPU-Z 的东西,它可以显示您的处理器的功能。

除此之外,我搜索了配备您的 GPU 的笔记本电脑,最终选择了 Intel Celeron M 420 等处理器,according to Intel 甚至不支持 64 位(这意味着 SSE2)。

我目前不知道其他任何有价值的 OpenCL 实现,所以答案是

另一方面,some websites claim that processor has SSE3 support,这意味着 AMD 的 OpenCL SDK 是您的选择。

【讨论】:

  • 我想我有 Intel Celeron M380,它看起来不支持 SSE3。 cpu-world.com/CPUs/Celeron_M/… 我的笔记本电脑是东芝 Satellite L20-182。 toshiba.eu/discontinued-products/satellite-l20-182 所以,如果没有 SSE3,我可能无法使用 AMD 的 API 实现。
  • 那么您就完全失去了对 OpenCL 的支持。也许使用 ocl-emu 的东西 @Cicada 建议你至少可以运行代码
  • 如果您没有兼容的硬件,但使用 Windows 和 VisualStudio,也许 ocl-emu 会很好。在我的台式电脑上有 Windows,但在我的笔记本电脑上我使用的是 LinuxDebian。我将在我的 linux 笔记本电脑上尝试 AMD 的实现,可能我的 CPU 不兼容。最坏的情况是我会在脑海中运行 OpenCL 代码部分:-D
  • 最新的 Intel OpenCL CPU 驱动实际上需要 SSE4.2。有几个版本只需要 SSE4.1。
猜你喜欢
  • 2010-09-14
  • 2013-08-22
  • 1970-01-01
  • 2017-07-20
  • 1970-01-01
  • 2020-09-22
  • 1970-01-01
  • 2022-11-26
  • 1970-01-01
相关资源
最近更新 更多