繁体   English   中英

如何获取 cl::Device 的数字设备 ID?

[英]How do I obtain the numeric device ID of a cl::Device?

OpenCL C++ 绑定具有cl::Device class 包装_cl_device_id * 指向的类型对我们来说是不透明的。

给定一个cl::Device ,如何获得其数字 ID(在其上下文中)? 基类的operator()只给我包装的_cl_device_id * ,而不是数字。

正如这里所指出的, _cl_device_id实际上不能用于获取唯一的设备 ID。 相反,要为所有可用的设备分配唯一 ID,请使用此解决方案

如果您还可以访问您的上下文(即您持有my_devicemy_context ),那么这对您来说是一个丑陋而昂贵的黑客:

std::vector<cl::Device> devices = my_context.getInfo<CL_CONTEXT_DEVICES>();
auto it = std::find(devices.begin(), devices.end(), my_device);
auto device_index = std::distance (devices.begin(), it);

...但我真的宁愿避免这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM