Lines 1-15
Link Here
|
1 |
Portable OpenCL aims to be an efficient open source (MIT-licensed) |
1 |
Portable OpenCL (pocl) |
2 |
implementation of the OpenCL 1.2 standard. |
2 |
---------------------- |
|
|
3 |
|
4 |
Portable OpenCL (>= 3.0) aims to be an efficient open source |
5 |
(MIT-licensed) implementation of the OpenCL 2.X standard with |
6 |
adaptions of OpenCL 3.0. |
3 |
|
7 |
|
4 |
In addition to producing an easily portable open source OpenCL |
8 |
In addition to producing an easily portable open source OpenCL |
5 |
implementation, another major goal of the project is improving |
9 |
implementation, another major goal of the project is improving |
6 |
performance portability of OpenCL programs with compiler |
10 |
performance portability of OpenCL programs with compiler |
7 |
optimizations, reducing the need for target-dependent manual |
11 |
optimizations, reducing the need for target-dependent manual |
8 |
optimizations. At the core of POCL is a set of LLVM passes used |
12 |
optimizations. At the core of pocl is a set of LLVM passes |
9 |
to statically parallelize multiple work-items with the kernel |
13 |
used to statically parallelize multiple work-items with the kernel |
10 |
compiler, even in the presence of work-group barriers. This enables |
14 |
compiler, even in the presence of work-group barriers. This enables |
11 |
parallelization of the fine-grained static concurrency in the work |
15 |
parallelization of the fine-grained static concurrency in the work |
12 |
groups in multiple ways (SIMD, VLIW, superscalar, ...). |
16 |
groups in multiple ways (SIMD, VLIW, superscalar,...). |
13 |
|
17 |
|
14 |
The code base is modularized to allow easy adding of new "device drivers" |
18 |
The code base is modularized to allow easy adding of new "device drivers" |
15 |
in the host-device layer. A generic multithreaded "target driver" is |
19 |
in the host-device layer. A generic multithreaded "target driver" is |