gpt4 book ai didi

c++ - 使用 AMD APP SDK 2.9 创建兼容 OpenCL 1.1 的应用程序?

转载 作者:行者123 更新时间:2023-11-30 04:07:58 31 4
gpt4 key购买 nike

AMD 只保留了 2.9、2.8 和 2.7 版本的 SDK online所有这些都适用于 OpenCL 1.2。我想让我的应用程序与 OpenCL 1.1 硬件兼容。由于我坚持使用 1.2 SDK 并且没有太多的硬件支持来测试我想知道什么是正确的方法?

  1. 我从 Khronos 网站下载了 1.1 header ,并将它们与我的 MinGW 编译器一起使用。该应用程序仅使用 OpenCL 1.1 驱动程序在我的 ATI GPU 上运行,但我不确定我是否正确。我有这个疑问,因为我仍然从 OpenCL 1.2 的 SDK 链接 OpenCL.lib。

  2. 我还应该随我的应用程序分发 SDK 中的 OpenCL.dll 吗?

  3. 避免 error message 的最佳方法是什么?在不兼容的硬件中禁用 OpenCL 代码,以便至少运行其他一切?

最佳答案

看看 cl.h 头文件:

每个 API 函数都有宏,定义它属于哪个版本:

extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
clCreateImage2D(cl_context /* context */,
cl_mem_flags /* flags */,
const cl_image_format * /* image_format */,
size_t /* image_width */,
size_t /* image_height */,
size_t /* image_row_pitch */,
void * /* host_ptr */,
cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;

因此,要使您的应用程序与 OpenCL 1.1 兼容,请使用 1.1 及更早版本的函数。请注意,新 API 版本中可能已弃用函数(如 clCreateImage2D)。在这种情况下,您需要定义 CL_USE_DEPRECATED_OPENCL_1_1_APIS 宏 - 但我不知道这是否是一种好的做法。

关于c++ - 使用 AMD APP SDK 2.9 创建兼容 OpenCL 1.1 的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22124597/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com