I haven&#x27;t used OpenCL before.  This library seemed sort of reasonable but I had some questions about whether it was really that much better than the native OpenCL API.  So I found an OpenCL &quot;hello world&quot; program here: <a href="http:&#x2F;&#x2F;developer.amd.com&#x2F;tools-and-sdks&#x2F;opencl-zone&#x2F;opencl-resources&#x2F;introductory-tutorial-to-opencl&#x2F;" rel="nofollow">http:&#x2F;&#x2F;developer.amd.com&#x2F;tools-and-sdks&#x2F;opencl-zone&#x2F;opencl-r...</a><p>Holy crap.  The &quot;kernel&quot; code is basically the same, but the native API setup code (which that tutorial even calls &quot;boiler plate&quot;) is insane, starting with the fact that the source code for the CL on-device program has to be passed as a string.  There is no API to pass a filename--only a string containing the entire program source!