OpenCL:为什么clCreateContext会创建线程?

时间:2017-06-07 21:46:26

标签: opencl

我正在调试与OpenCL相关的分段错误。使用gdb我注意到由于clCreateContext

而创建了几个线程
  

GDB输出:

     

在clCreateContext之前打印

     

[新主题0x7ffff299b700(LWP 10807)]

     

[新主题0x7ffff219a700(LWP 10808)]

     

[新主题0x7ffff1999700(LWP 10809)]

     

[新主题0x7ffff1198700(LWP 10810)]

     

[新主题0x7ffff0997700(LWP 10811)]

     

[新主题0x7fffebfff700(LWP 10812)]

     

[新主题0x7fffeb7fe700(LWP 10813)]

     

在clCreateContext之后打印

有人知道是什么原因吗?

[我在Ubuntu上使用带有NVIDIA GPU的OpenCl 1.2]

1 个答案:

答案 0 :(得分:3)

OpenCL实现需要在内部生成线程以支持不同的功能,例如监视设备内核执行或内存传输,或执行用户回调。此行为是实现定义的,因此不同的实现可能会产生不同数量的线程。