macos - 使用 OpenCL 1.2 模拟 OpenCL 1.1

标签 macos opencl osx-mountain-lion gpgpu osx-mavericks

我使用 OpenCL 开发代码,这些代码应在采用 OpenCL 1.1 的系统上编译,同时利用可用的 OpenCL 1.2 功能。

是否可以在具有 OpenCL 1.2 的系统上模拟 OpenCL 1.1?

我在 Mac 上使用 Apple OpenCL 框架,在将代码推回中央存储库之前,我想确保该代码适用于拥有 OpenCL 1.1(例如 Mountain Lion)的用户。

最佳答案

也许您可以看看 Khronos Group 的 cl.hpp。

链接到仅 header 库:http://www.khronos.org/registry/cl/

链接到一个简短的示例:http://www.thebigblob.com/using-the-cpp-bindings-for-opencl/

这是一个 C++ OpenCL 包装器,根据系统路径中的 OpenCL 头版本为您提供 OpenCL 1.0、1.1 或 1.2 支持。我认为你可以采取这样的方式在编译时达到这一目标。

如果您有较新的 header ,但您想限制版本,您可以查看此线程: Cannot compile OpenCL application using 1.2 headers in 1.1 version

或者您想在运行时选择合适的 OpenCL 函数吗?

关于macos - 使用 OpenCL 1.2 模拟 OpenCL 1.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21732274/

相关文章:

c++ - OpenCL segfaults 但给 GDB 不同的错误

opencv - 如何更改在 OpenCV 中使用 Umat 执行 OpenCL 代码的设备?

java3d 不适用于 mac mountain lion

Eclipse 在 Mac OS X 10.8.5 上滚动速度非常慢

macos - Nohup 不适用于 OSX

macos - 如何使用ICCameraDevice拍照?

excel - Mac 版不显示在 Excel VBA 中插入用户窗体的选项

linux - .tmux.conf 不是在 Mac 上读取而是在 Linux 上读取?

rust - OpenCL 错误 : undefined reference to `_Z12atom_cmpxchgPVU8CLglobalmmm()'

core-animation - 通过添加和删除 NSLayoutConstraint 来制作动画,而不是调整常量