c++ - 在没有兼容硬件的情况下运行 OpenCL?

标签 c++ opencl

我有两台电脑:

  • 新的高端台式电脑,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 和单线程 CPU没有 OpenCL 的模式。)

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

最佳答案

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

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

最低要求由 AMD OpenCL 驱动程序提供,需要 SSE3。如列表所示,这一直追溯到晚期的 Pentium 4。

为了确定你的 CPU 的能力,你需要使用像 CPU-Z 这样的东西。这可以显示您的处理器的能力。

除此之外,我还搜索了带有您的 GPU 的笔记本电脑,最后找到了像 Intel Celeron M 420 这样的处理器,according to Intel甚至没有 64 位支持(这意味着 SSE2)。

我目前不知道其他 OpenCL 实现是否有值(value),所以答案是

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

关于c++ - 在没有兼容硬件的情况下运行 OpenCL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26481552/

相关文章:

c++ - Win32 API - 将 LO/HIWORD 转换为 HANDLE

c++ - 相当于 Solaris walkcontext 的 Linux

将 float2 转换为 double2,反之亦然

c - OpenCL内核优化

c - opencl 赋值被搞砸了

python - 使用 python 构建时出现 opencl 内部错误

c++ - 如何找到Qt应用程序的安装目录?

C++ 覆盖全局运算符逗号给出错误

c++ - 如何在 Visual Studio 2010 中使用互斥锁

python - OpenCL 矩阵乘法 - 得到错误的答案