Portable Computing Language - an OpenCL implementation
Portable Computing Language (pocl) aims to become a MIT-licensed open source
implementation of the OpenCL standard which can be easily adapted for new targets
and devices, both for homogeneous CPU and heterogenous GPUs/accelerators.
pocl uses Clang as an OpenCL C frontend and LLVM for the 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.
The goal is to accomplish improved performance portability using a kernel
compiler that can generate multi-work-item work-group functions that exploit
various types of parallel hardware resources: VLIW, superscalar, SIMD, SIMT,
multicore, multithread ...
Additional purpose of the project is to serve as a research platform for
issues in parallel programming on heterogeneous platforms.
- Sources inherited from project science
- Devel package for openSUSE:Factory
-
3
derived packages
- Links to openSUSE:Factory / pocl
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout home:redwil:15.4/pocl && cd $_
- Create Badge
Source Files
Filename | Size | Changed |
---|---|---|
_link | 0000000124 124 Bytes | |
pocl-1.0.tar.gz | 0001536827 1.47 MB | |
pocl-rpmlintrc | 0000000110 110 Bytes | |
pocl.changes | 0000007977 7.79 KB | |
pocl.spec | 0000004730 4.62 KB |
Revision 29 (latest revision is 78)
- Update to version 1.0 - Remove patch: * pocl-disable-tests.diff - Disable CUDA backend since it depends on CUDA_TOOLKIT which is not available in Factory old: science/pocl new: home:mnhauke:opencl:stable/pocl rev None Index: pocl.changes =================================================================== --- pocl.changes (revision 28) +++ pocl.changes (revision 9) @@ -1,4 +1,46 @@ ------------------------------------------------------------------- +Tue Dec 19 18:44:43 UTC 2017 - mardnh@gmx.de + +- Update to version 1.0 + Highlights + * Improved automatic local work-group sizing on kernel enqueue, taking + into account standard constraints, SIMD width for vectorization as + well as the number of compute units available on the device. + * Support for NVIDIA GPUs via a new CUDA backend (currently experimental). + * Removed support for BBVectorizer. + * LLVM 5.0 is now supported. + * A few build options have been added for distribution builds, + see README.packaging. + * Somewhat improved scalability in the CPU driver. CPUs with many cores + and programs using a lot of WIs with small kernels can run somewhat faster. + * Full conformance with OpenCL 1.2 standard, enabled by default. There are + some caveats though - see the documentation. + * When conformance is enabled, some kernel library functions might be + slower than in previous releases. + * Pocl now reports OpenCL 1.2 instead of 2.0, except HSA enabled builds. + * Updated format of pocl binaries, which is NOT backwards compatible. + * You'll need to clean any kernel caches. + * Fixed several memory leaks. + * Unresolved symbols (missing/misspelled functions etc) in a kernel will + result in error in clBuildProgram() instead of pocl silently ignoring + them and then aborting at dlopen(). + * New env variable POCL_MEMORY_LIMIT=N limits the Global memory size + reported by pocl to N gigabytes. + * New env variable POCL_AFFINITY (defaults to 0): if enabled, sets + the affinity of each CPU driver pthread to a single core. + * Improved AVX512 support (with LLVM 5.0). Note that even with LLVM 5.0 + there are still a few bugs (see pocl issue #555); AVX512 + LLVM 4.0 are + a lot more broken, and probably not worth trying. + * POCL_DEBUG env var has been revamped. You can now limit debuginfo to + these categories (or their combination): all,error,warning,general + memory,llvm,events,cache,locking,refcounts,timing,hsa,tce,cuda + * The old setting POCL_DEBUG=1 now equals error+warning+general. +- Remove patch: + * pocl-disable-tests.diff +- Disable CUDA backend since it depends on CUDA_TOOLKIT which is + not available in Factory + +------------------------------------------------------------------- Thu Oct 26 14:13:18 UTC 2017 - mpluskal@suse.com - Simplify spec file a bit Index: pocl.spec =================================================================== --- pocl.spec (revision 28) +++ pocl.spec (revision 9) @@ -17,9 +17,9 @@ # -%define sover 1.7.0 +%define sover 2.0.0 Name: pocl -Version: 0.14 +Version: 1.0 Release: 0 Summary: Portable Computing Language - an OpenCL implementation # The whole code is under MIT @@ -30,7 +30,6 @@ Url: http://portablecl.org/ Source0: http://portablecl.org/downloads/%{name}-%{version}.tar.gz Source99: pocl-rpmlintrc -Patch0: pocl-disable-tests.diff BuildRequires: clang BuildRequires: clang-devel BuildRequires: clang-devel-static @@ -84,12 +83,11 @@ %prep %setup -q -%patch0 -p1 %build %define __builder ninja %cmake \ - -DENABLE_CUDA=1 \ + -DENABLE_CUDA=0 \ -DENABLE_ICD=1 \ -DPOCL_INSTALL_ICD_VENDORDIR=%{_sysconfdir}/OpenCL/vendors \ -DCMAKE_C_COMPILER=clang \ @@ -124,9 +122,9 @@ %dir %{_sysconfdir}/OpenCL/vendors %{_sysconfdir}/OpenCL/vendors/pocl.icd %{_bindir}/poclcc -%{_libdir}/libpocl.so.1 +%{_libdir}/libpocl.so.2 %{_libdir}/libpocl.so.%{sover} -%{_libdir}/libpoclu.so.1 +%{_libdir}/libpoclu.so.2 %{_libdir}/libpoclu.so.%{sover} %{_libdir}/pocl/ %{_datadir}/pocl/ Index: pocl-1.0.tar.gz =================================================================== Binary file pocl-1.0.tar.gz (revision 9) added Index: pocl-0.14.tar.gz =================================================================== Binary file pocl-0.14.tar.gz (revision 28) deleted Index: pocl-disable-tests.diff =================================================================== --- pocl-disable-tests.diff (revision 28) +++ pocl-disable-tests.diff (deleted) @@ -1,19 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 18d36e7..3c20763 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1000,10 +1000,10 @@ message(STATUS "POCLU LINK OPTS: ${POCLU_LINK_OPTIONS}") - # poclcc bin - add_subdirectory("bin") - --if (OCS_AVAILABLE) -- add_subdirectory("tests") -- add_subdirectory("examples") --endif() -+#if (OCS_AVAILABLE) -+# add_subdirectory("tests") -+# add_subdirectory("examples") -+#endif() - - add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} ${COMMAND_USES_TERMINAL}) -
Comments 0