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, a major goal of this project is improving interoperability of diversity of
OpenCL-capable devices by integrating them to a single centrally orchestrated platform. Upstream PoCL currently supports various CPUs, NVIDIA GPUs via libcuda, HSA-supported GPUs and TCE ASIPs (experimental, see: http://openasip.org) It also is known to have multiple (private) ports. 1.5 release adds support for Clang/LLVM 10.0, easy to use kernel profiling features and plenty of fixes and performance improvements.