Portable Computing Language - an OpenCL implementation

Edit Package pocl
http://portablecl.org/

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.

Refresh
Refresh
Source Files
Filename Size Changed
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)
Klaus Kämpf's avatar Klaus Kämpf (kwk) accepted request 558673 from Martin Hauke's avatar Martin Hauke (mnhauke) (revision 29)
- 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
openSUSE Build Service is sponsored by