Hi, WebCL[1] defines a JavaScript binding to the Khronos OpenCL[2] standard for heterogeneous parallel computing. WebCL enables web applications to harness GPU and multi-core CPU parallel processing from within a Web browser/Runtime, enabling significant acceleration of applications. WebCL[3] is standardized on March 2014.
We have several demos to demonstrate the power of WebCL from various scenarios, such as: Image Processing(AlloyImage, Ripple), 3D transformation(Deformation) etc. It shows 2x~20x performance boost. Currently, WebCL's dependency (OpenCL) is well supported on Android. From official wiki [4], It is supported by most of hardware vendors, such as: Intel, Qualcomm, Mtk, ARM-Mali, Imagination Tech etc. What's more, there are many devices deployed with OpenCL library by default when shipping. Document [5] lists most of popular devices in the market with OpenCL supported. So I propose to support WebCL APIs for Crosswalk on Android. Following is some design considering for WebCL. 1) Implement the APIs through WebCore binding. 2) Enable WebCL with flag, and Tizen will the potential target in future. 3) Dynamic load the OpenCL library, and add whitelist for various devices, due to OpenCL may missed in older devices. 4) Memory management/transfer between WebCL and JavaScript Object. 5) Security enhancement. 6) Include conformance tests. If you want more details, please refer to the design doc [5]. Because this feature is somewhat big, I propose to integrate with several steps as following: 1) Implement WebCL APIs, include dynamic loading OpenCL library, internal class set, external API binding etc. 2) Add security check mechanism, and include conformance test suites. 3) Add whitelist for OpenCL, and enable WebCL support by default for devices in the whitelist on Android. Reference: [1] WebCL Wiki: https://www.khronos.org/webcl/ [2] OpenCL wiki: https://www.khronos.org/opencl/ [3] WebCL Spec: http://www.khronos.org/registry/webcl/specs/latest/1.0/ [4] http://www.khronos.org/conformance/adopters/conformant-products [5] Design Doc: https://docs.google.com/a/intel.com/document/d/1fl5cGCFW1PDqtq0zDoiVnQ05dwyNYxtjmb4GdapiX7c/edit Best wishes Junmin _______________________________________________ Crosswalk-dev mailing list Crosswalk-dev@lists.crosswalk-project.org https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev