blob: af988aae20512f8a1721e125c0bc01b745a2b523 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
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 (truely heterogeneous)
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. Also
one of the key goals longer term is to enhance performance
portability of OpenCL programs across device types utilizing runtime
and compiler techniques.
Upstream PoCL currently supports various CPUs, NVIDIA GPUs via
libcuda, HSA-supported GPUs and TCE ASIPs (experimental, see:
OpenASIP). It is also known to have multiple (private) adaptations
in active production use.
PoCL uses Clang as an OpenCL C frontend and LLVM for 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.
Examples source are installed at: /usr/share/pocl/examples
Optional: hwloc
|