在没有兼容硬件的情况下运行OpenCL

Run OpenCL without compatible hardware?

本文关键字:情况下 运行 OpenCL 硬件      更新时间:2023-10-16

我有两台电脑:

  • 一台新的高端台式电脑,兼容OpenCL的CPU和GPU,32GB RAM
  • 一台非常旧的笔记本电脑,英特尔赛扬CPU,512MB RAM,Ati M200 GPU

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

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

我想,答案是否定的。

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

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

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

这里有一个收集所有这些信息的网站。

最低要求由AMD OpenCL驱动程序提供,该驱动程序需要SSE3。正如列表所示,这可以追溯到奔腾4的晚期。

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

除此之外,我搜索了带有GPU的笔记本电脑,最终得到了像英特尔赛扬M 420这样的处理器,根据英特尔的说法,它甚至不支持64位(这意味着SSE2)。

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

另一方面,一些网站声称处理器支持SSE3,这意味着AMD的OpenCL SDK是您的选择。