Why doesn't OpenCL support recursion?
opencl, recursion
Solution
It is related to the target hardware, I think. To support recursion requires several hardware features that certain classes of OpenCL devices (ie. GPUs) don't have. Without them, maintaining a call stack and doing indirect code branching isn't practical. NVIDIA don't support recursion on all their CUDA capable hardware for the same reason.
Problem
I am currently working on a OpenCL project and I am wonder why it does not support recursion. Is it related to parallelism?