OpenCL支持动态并行...?

时间:2013-07-17 09:24:17

标签: opencl

我正在尝试在OpenCL内核中使用递归。编译是成功的,但是在运行它时会出现编译错误,所以我想知道,因为现在CUDA支持动态并行,OpenCL是否支持动态并行?

2 个答案:

答案 0 :(得分:5)

OpenCL不支持递归。参见标准v1.2第6.9节中的第i点。

编辑: CUDA的新动态并行功能与递归没有任何关系(CUDA已经支持它了。请参阅此question。这个新功能允许在设备上运行的线程配置和启动之前仅由主机完成的新网格。有关概述,请参阅此document

第二次编辑:关于@Michael的答案:这只是规范,你将不得不等待实施发布。此外,在未来的这一点上,您还必须确保拥有适当的硬件(即使CUDA支持动态并行,仅适用于3.5或更高容量的设备)。所以当你提出问题时,仍然是今天:没有OpenCL实现支持动态并行。

答案 1 :(得分:1)

OpenCL 2现在支持动态并行。 Khronos Group在Siggraph 2013上宣布了它。

您可以找到规范here