OpenCL in Commercial Environments
OpenCL is the heterogeneous computing framework that enables execution across different platforms such as CPUs and GPUs. While its design was meant so that you can write your program once and have it execute among different platforms, you may run into problems while implementing your designs in a commercial product. These problems include from lack of OpenCL 1.2 support, driver instability, poor debugging tools, concurrency problems in the API, cumbersome API, and limited SDK examples. Should you choose OpenCL for your commercial product? This article hopes to answer some of those questions.