Pocl is a portable open source (MIT-licensed) implementation of the
OpenCL standard (1.2 with some 2.0 features supported). In addition to
being an easily portable multi-device open-source OpenCL implementation,
another major goal of this project is improving performance portability
of OpenCL programs with the kernel compiler and the task runtime,
reducing the need for target-dependent manual optimizations.
Upstream pocl currently supports various CPUs, NVIDIA GPUs via libcuda,
HSA-supported GPUs and TCE ASIPs (experimental, see
http://openasip.org), with various known private adopters as well.