OpenCL支持动态并行.



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

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

编辑:CUDA的新动态并行性功能与递归无关(CUDA不久前已经支持它了。请参阅此问题。此新功能允许设备上运行的线程配置和启动以前只由主机完成的新网格。有关概述,请参阅此文档。

第二版:关于@Michael的回答:这只是规范,您必须等待实现发布。此外,在未来的这一点上,您还必须确保拥有合适的硬件(即使是CUDA也只支持3.5及更高性能的设备的动态并行性)。因此,当您提出问题时,直到今天:NO OpenCL实现都支持动态并行。

OpenCL 2中现在支持动态并行。Khronos集团在Siggraph 2013上宣布了这一消息。

您可以在这里找到规格

最新更新