Home Products Sieve Multicore Programming System Sieve C++ OpenCL

Sieve C++ OpenCL (coming soon)

OpenCL is an open standard for writing high-performance kernels on heterogeneous multicore processors.  Using OpenCL developers need only write one version of their application and run it on a numerous range of multicore devices that support OpenCL.

OpenCL is however, a low-level language design to be a close to the silicon as possible, and the benefits of OpenCL come with a trade-off.  Programmers writing in OpenCL must manually orchestrate data movement, manage the language extensions correctly and take care of structure layout issues.

Sieve C++ for OpenCL opens up C++ language capabilities that can be compiles to OpenCL through a unique compiler backend similar in principle to Sieve C++ for OutputC.  

The Sieve C++ compiler allows coders to use C++ to write code for OpenCL supported devices without low-level complications.  Sieve C++ handles data movement, scheduling and data structures automatically.

alt

Sieve C++ for OpenCL is still under development and we realize there are still several challenges to overcome in compiling full C++ to OpenCL, such as recursion, function pointers, virtual methods, and random access to host memory.  Codeplay continue to strive for a full high-level C++ support interface to OpenCL, and progress so far is good.

What’s in it for me?

High level C++ programming capabilities for multicore processors with OpenCL support, with the full portability you would expect from OpenCL across all supported devices.  Sieve C++ for OpenCL doesn’t restrict programmers into only using a C++ model.  Existing OpenCL code can be integrated fully into Sieve C++ programs.

What do I do now?

OpenCL for Sieve is still under development, but you can still register your interest and are encouraged to contact us to discuss your future OpenCL needs.  Get in touch to find out how we can build a full Sieve C++ for OpenCL compiler for your system.