我使用 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/