如何解决如何在openCL中获取“_cl_devide_id”结构的大小?
cl_device_id 定义为“typedef struct _cl_device_id *cl_device_id”。 在 openCL 方法 clGetDeviceIDs 中,“devices”参数的类型为“cl_device_id *”并返回指向可用设备列表的指针。我正在尝试使用 memcpy 将整个结构传递给另一个变量。为此,我需要知道“_cl_device_id”结构的大小。
解决方法
_cl_device_id 是平台内部的(与所有 _cl_something 结构一样)。此外,一个 OpenCL 程序可以加载多个平台,并且对于每个平台,结构大小可以(并且可能会)不同。
所有cl_objects 通常都是不透明的指针,并且(通常)复制 C 库的隐藏内部结构是一种非常极端的方法,几乎肯定会搞砸(除非你正在工作关于实现调试器等)。
但不管动机如何,答案是:你无法判断,因为直到程序实际运行并加载 OpenCL 实现时你才知道。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。