在OpenCL中能否获取上下文内设备的默认命令队列?
OpenCL 如何查询上下文内设备的默认命令队列?
OpenCL API 定义了针对给定上下文及其中设备的「默认队列」:你可以通过clCreateCommandQueueWithProperties并指定CL_QUEUE_ON_DEVICE_DEFAULT属性创建默认队列,也能调用clSetDefaultDeviceCommandQueue接口设置默认队列。
但需要明确的是,当前OpenCL标准API中没有提供直接查询上下文内某设备默认队列的方法——你在API参考中找不到相关接口是正常的,从OpenCL 1.2到最新的3.0版本,官方均未添加这类查询函数。
如果业务场景需要获取默认队列,建议在调用clSetDefaultDeviceCommandQueue设置时,自行维护一个与上下文绑定的映射结构(比如哈希表),将设备句柄和对应的默认队列句柄关联存储,后续需要查询时直接从这个自定义结构中读取即可。
内容的提问来源于stack exchange,提问作者einpoklum
相关产品推荐
相关产品推荐

