recursion - 为什么OpenCL不支持递归?

标签 recursion opencl

我目前正在开发一个 OpenCL 项目,我想知道为什么它不支持递归。与并行性有关吗?

最佳答案

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

关于recursion - 为什么OpenCL不支持递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10050708/

相关文章:

OpenCL 内存缓冲区传输提供不正确的数据

c++ - 如何调用boost_compute 'BOOST_COMPUTE_FUNCTION'定义的函数?

c - 获得帮助递归 C 编程

c++ - 从两个 4x64 位整数数组中取模

algorithm - 如何在递归调用中获取路径

c++ - 这个递归函数(回文)变成了一个无限循环。为什么?

optimization - 稀疏几何的 3d 希尔伯特曲线

c++ - OpenCL FFT 实现 - 无意义的输出数据 - 可能是正确的算法

C++ 使用递归函数创建链表

python - 递归函数(子集)返回空(python)