Portable Computing Language (pocl) strives to have improved portability and performance without the need for specific target device configuration, using compiler optimisations. With a view to becoming open source as an OpenCL standard being licenced under MIT.

Portable Computing Language (pocl) strives to have improved portability and performance without the need for specific target device configuration, through compiler optimisations. With a view to becoming open source as an OpenCL standard being licenced under MIT.

From Portable Computing Language at sourceforge

Portable Computing Language (pocl) aims to become a MIT-licensed open source implementation of the OpenCL standard which can be easily adapted for new targets and devices, both for homogeneous CPU and heterogenous GPUs/accelerators.

pocl uses Clang as an OpenCL C frontend and LLVM for the kernel compiler implementation, and as a portability layer. Thus, if your desired target has an LLVM backend, it should be able to get OpenCL support easily by using pocl.

The goal is to accomplish improved performance portability using a kernel compiler that can generate multi-work-item work-group functions that exploit various types of parallel hardware resources: VLIW, superscalar, SIMD, SIMT, multicore, multithread...

For more information see the documentation.