Using OpenCL on the StemCell Computing Array
The unveiling of OpenCL on the ZMS processors in June 2010 demonstrated how the performance and flexibility of the underlying StemCell Computing architecture can be leveraged by developers using an industry standard API to bring new levels of performance to applications targeting low-power platforms. The latest ZMS-40 processor features 96 StemCell cores organised as 12 custers of 8 processing elements that combine to deliver 58 GFlops of peak performance that can now be leveraged in compute intensive algorithms using OpenCL on Android.
OpenCL Early Access Program
ZiiLABS is inviting developers with innovative ideas for using OpenCL on Android based Tablets to join our OpenCL Early Access Program. Selected partners will be provided with an early release of the ZiiLABS OpenCL on select ZiiLABS tablet platforms (pricing of the tablet will be confirmed on application).
Apply now by completing the general Contact Form. Please use the description section of the form to provide as much detail as you can about your proposed project.
StemCell based OpenCL
OpenCL (Open Computing Language) is the first open, royalty-free standard for general-purpose parallel programming of heterogeneous systems. OpenCL provides a uniform programming environment for software developers to write efficient, portable code for processors such as the ZMS-40. OpenCL unlocks the full potential of the StemCell (SIMD) array architecture to deliver new levels of performance across a broad range of applications.
- Image processing: red-eye removal, face detection and recognition, smile or blink detection, demosaicing for Bayer-filtered image sensors, or noise reduction for low cost sensors.
- Audio processing: audio effects, noise cancellation, and beamforming (for directional microphones and/or speakers).
- Graphics: ray tracing, physics engines, particle systems, volumetric rendering, etc.
About the Demos
At Google IO 2012 Symphony Teleca in co-operation with ZiiLAB demonstrated OpenCL on the HanZpad Android tablet. The demonstration built by Symphony Teleca uses OpenCL to implement a number of key image processing effects and compares a selection of algorithms implemented in both 'C’ and OpenCL - with the OpenCL code able to harness the underlying ZMS-40 media processing array to deliver significant advantages over a CPU-only implementation.
The application currently supports 3 operations: GREY, INVERT and PALETTIZE effects implemented in two different variants: OpenCL (on the GPU) and ‘C’ on the CPU. All operations are selectable from the menu, including front and rear camera switching. To find our more, read the Technology backgrounder or Watch the video.
At Computex 2010 ZiiLABS showcased a number of OpenCL applications, including ray-tracing and video filter demos that provided an early glimpse of the floating-point performance and flexibility that developers can exploit on ZMS-based platforms and products.
For more information on OpenCL visit: www.khronos.org/opencl/ OpenCL is a trademark of Apple Inc. used by permission by Khronos.* ZiiLABS is an OpenCL adopter and the ZiiLABS OpenCL SDK is based on a published Khronos Specification and is expected to pass the Khronos Conformance Testing Process.
*ZiiLABS is an OpenCL adopter and the ZiiLABS OpenCL implementations are based on a published Khronos Specification. Specific ZiiLABS platforms have already passed OpenCL conformance and others are expected to pass the Khronos Conformance Testing Process.
OpenCL and the OpenCL logo are trademarks of Apple Inc.
Image Processing effects written in OpenCL and running across the array being applied to real-time H.264 decoded video
Painters algorithm written in OpenCL and running across the array being applied to still images
Sphere ray tracing written in OpenCL and running across the array highlighting the floating-point performance.