|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| bin/ | H | 03-May-2022 | - | 354 | 262 |
| cmake/ | H | 12-Oct-2021 | - | 2,005 | 1,686 |
| doc/sphinx/ | H | 12-Oct-2021 | - | 3,288 | 2,351 |
| examples/ | H | 03-May-2022 | - | 58,057 | 53,669 |
| include/ | H | 03-May-2022 | - | 21,875 | 15,095 |
| lib/ | H | 03-May-2022 | - | 257,110 | 197,284 |
| tests/ | H | 03-May-2022 | - | 37,988 | 31,867 |
| tools/ | H | 12-Oct-2021 | - | 9,710 | 9,142 |
| .drone.yml | H A D | 12-Oct-2021 | 4.7 KiB | 166 | 148 |
| .gitattributes | H A D | 12-Oct-2021 | 1.7 KiB | 39 | 31 |
| .gitignore | H A D | 12-Oct-2021 | 1.1 KiB | 81 | 63 |
| .mailmap | H A D | 12-Oct-2021 | 2.4 KiB | 48 | 34 |
| .travis.yml | H A D | 12-Oct-2021 | 2.1 KiB | 64 | 51 |
| CHANGES | H A D | 12-Oct-2021 | 32.1 KiB | 860 | 725 |
| COPYING | H A D | 12-Oct-2021 | 1 KiB | 20 | 16 |
| CREDITS | H A D | 12-Oct-2021 | 2.4 KiB | 86 | 84 |
| INSTALL | H A D | 12-Oct-2021 | 13.3 KiB | 341 | 248 |
| LICENSE | H A D | 12-Oct-2021 | 1 KiB | 20 | 16 |
| README | H A D | 12-Oct-2021 | 396 | 13 | 8 |
| README.ARM | H A D | 12-Oct-2021 | 684 | 16 | 11 |
| README.Windows | H A D | 12-Oct-2021 | 1.4 KiB | 45 | 31 |
| README.packaging | H A D | 12-Oct-2021 | 1.5 KiB | 35 | 29 |
| TODO | H A D | 12-Oct-2021 | 1.4 KiB | 37 | 28 |
| ToolchainExample.cmake | H A D | 12-Oct-2021 | 2.5 KiB | 55 | 49 |
| config.h.in.cmake | H A D | 03-May-2022 | 4.7 KiB | 246 | 130 |
| config2.h.in.cmake | H A D | 12-Oct-2021 | 181 | 6 | 3 |
| pocl.icd.in | H A D | 12-Oct-2021 | 24 | 2 | 1 |
| pocl.icd.in.cmake | H A D | 12-Oct-2021 | 54 | 2 | 1 |
| pocl.pc.in.cmake | H A D | 12-Oct-2021 | 306 | 12 | 9 |
README
1Portable Computing Language (pocl)
2----------------------------------
3pocl is being developed towards an efficient implementation of OpenCL standard
4which can be easily adapted for new targets.
5
6Please refer to the file INSTALL in this directory for building and installing
7pocl.
8
9More documentation available at http://portablecl.org/docs/html/
10The main web page is at http://portablecl.org
11
12
13
README.ARM
1pocl builds (as of Aug 2017) on ODROID XU3 and ODROID C2
2but some tests fail.
3
4How to build:
5
6* get a clang / llvm. DO NOT use the ones downloaded from llvm.org, they only work
7 on the distro where they were compiled. Ubuntu LTS these days ships multiple llvm
8 versions even quite recent ones; get the clang+llvm from your distro's packages.
9
10* read the pocl install/build instructions in docs
11
12* LLVM will likely not recognize your cpu, and running cmake will give you a warning.
13 run cmake with -DLLC_HOST_CPU=<yourcpu>. "yourcpu" must be something LLVM recognizes,
14 usually it's simply "cortex-aXX" like cortex-a15 etc. You can get the full list by
15 running `llc -mcpu=help`.
16
README.Windows
README.packaging
1This file contains notes for making distribution packages of pocl.
2
3ICD
4---
5Pocl should probably be built with ICD enabled (``-DENABLE_ICD=ON`` CMake
6option) for desktop distributions. Pocl does not have an ICD loader,
7so a dependancy on one would be beneficial.
8
9CMake options for a distribution build
10--------------------------------------
11- ``-DKERNELLIB_HOST_CPU_VARIANTS=distro``
12 Note: this note only works for x86(-64) platform currently,
13 on other platforms, it has zero effect.
14 Enables runtime detection of CPU and builds separate
15 kernel libraries for most common x86 CPUs.
16
17- ``-DPOCL_ICD_ABSOLUTE_PATH=OFF``
18 The pocl.icd file (which the ICD loader uses to load the pocl lib)
19 by default has a full path to the installed libpocl.so file.
20 Set this option to OFF and pocl will only put the dynamic library
21 name into pocl.icd.
22
23- ``-DENABLE_POCL_BUILDING=OFF``
24 When OFF, POCL_BUILDING option (which causes pocl to look for required
25 files in build / source directories) will be ignored
26 and pocl will always look in installed paths only.
27
28Mesa (OpenGL) interoperability
29------------------------------
30On some current (Jan 2014) Linux distibutions, mesa is built with LLVMpipe.
31If pocl is built against a shared LLVM library, the mesa calls to its LLVM
32will be re-routed to the LLVM linked in pocl, causing a segfault. Consider
33linking LLVM statically to pocl. At least 'nouveau' and 'swrast_dri' are
34known to suffer from this. See https://github.com/pocl/pocl/issues/46
35