为什么OpenCL不支持递归?

zoo*_*doo 3 recursion opencl

我目前正在开发一个OpenCL项目,我很奇怪为什么它不支持递归.它与并行性有关吗?

tal*_*ies 6

我认为它与目标硬件有关.要支持递归,需要使用某些类型的OpenCL设备(即GPU)所没有的硬件功能.没有它们,维护调用堆栈和进行间接代码分支是不切实际的.出于同样的原因,NVIDIA不支持所有支持CUDA的硬件的递归.