- Update to version 3.0
* Minimal OpenCL 3.0 feature set should be now supported
(official conformance stamp still to apply for).
* Support for Clang/LLVM 14.0.
* Improved tracing and visualization.
* Support for generating specialized work-group functions and
include them in the PoCL kernel program binaries.
* Fixed printf for SPIR-V.
* A lot of other fixes and improvements.
OBS-URL: https://build.opensuse.org/request/show/1001506
OBS-URL: https://build.opensuse.org/package/show/science/pocl?expand=0&rev=63
- Use LLVM 13 on Tumbleweed, since LLVM 14 does not yet work
according to upstream. (gh#pocl/pocl#1047, gh#pocl/pocl#1048)
- Require at least version 6 of clang-devel, older versions are
not supported. (Otherwise configuration will fail.)
- Strip prefix from CMAKE_INSTALL_LIBDIR on older distributions
to fix paths there.
OBS-URL: https://build.opensuse.org/request/show/980782
OBS-URL: https://build.opensuse.org/package/show/science/pocl?expand=0&rev=61
- Update to version 1.8
* Support for Clang/LLVM 13
* Improved debugging support with Valgrind, LTTNG
* Improved support for SPIR/SPIR-V on CUDA
- Update to version 1.7
* Support for Clang/LLVM 12
* Improved support for cross-compiling
* Improved support for SPIR-V binaries when using CPU device
* Implemented OpenCL 3.0 features: clGetDeviceInfo queries
+ CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES (Minimal implementation)
+ CL_DEVICE_ATOMIC_FENCE_CAPABILITIES (Minimal implementation)
OBS-URL: https://build.opensuse.org/request/show/928258
OBS-URL: https://build.opensuse.org/package/show/science/pocl?expand=0&rev=60
- Update to version 1.6
* Support for LLVM 11.
* CUDA kernels using constant __local blocks are now ABI
incompatible with previous release. Users need to delete their
pocl cache.
* Improved debugging of OpenCL code with CPU driver.
* Improved the PTX code generation for __local blocks.
* Improved handling of command queue barriers
* Fix LLVM loop vectorizing remarks printing
(POCL_VECTORIZER_REMARKS=1).
* Fix an issue in which the loop vectorizer produced code with
invalid memory reads (issue #757).
* Fix compilation error when CMake option SINGLE_LLVM_LIB is
set to OFF.
* Fix wrongly output dlerror (Undefined symbol) after dlopen,
caused by a previous libdl call in an ICD loader
* [CPU] safety margin of pocl's CPU driver local memory
allocation has been reduced to a much more reasonable value
* [CPU] buffer size for OpenCL printf is now configurable with
PRINTF_BUFFER_SIZE CMake variable
* [CPU] local memory size reported is now the size of last level
of non-shared data cache (usually L1 or L2 depending on CPU),
if hwloc can determine it.
- Update patch link_against_libclang-cpp_so.patch
OBS-URL: https://build.opensuse.org/request/show/858637
OBS-URL: https://build.opensuse.org/package/show/science/pocl?expand=0&rev=58
- Update to version 1.4
* Support for LLVM/Clang 8.0 and 9.0
* Support for LLVM older than 6.0 has been removed.
* Improved SPIR and SPIR-V support for CPU device
* pocl-accel: An example driver and support infrastructure for
OpenCL 1.2 CL_DEVICE_TYPE_CUSTOM hardware accelerators.
- Remove upstreamed fix_resources_path_version_dependency.patch
- Fix build with single-component libclang-cpp.so, add
link_against_libclang-cpp_so.patch
OBS-URL: https://build.opensuse.org/request/show/745268
OBS-URL: https://build.opensuse.org/package/show/science/pocl?expand=0&rev=51
- Update to version 1.3
* Support for Clang/LLVM 8.0.
Bug Fixes:
* Fixed kernel debug symbol generation.
* HSA: fix kernel caching.
* Fix clCreateImage doesn't fail with unsupported image type.
* Fix handle non-kernel functions with barriers properly.
* Fix Unable to build pocl with CUDA support with LLVM 7 and host
GCC 8.2.
* Fix image format/size handling with multiple devices in context.
* Fix padding issue with context arrays that manifested as unaligned
access errors after autovectorization.
Notable Internal Changes
* Add group ids as hidden kernel arguments instead of digging
them up from the context struct.
* Ability to generate the final binary via separate assembly text +
assembler call. Useful for supporting LLVM targets without direct
binary emission support.
* Use Clang's Driver API for launching the final linkage step. This
way we utilize the toolchain registry with correct linkage steps
required for the target at hand.
* Add 'device_aux_functions' to the driver layer attributes. This
can be used to retain device-specific functions required by the
target across the pruning of unused globals.
* The "default kernels" hack which was used to store kernel metadata,
has been removed. Kernel metadata are now stored only once, in
cl_program struct; every new cl_kernel structs holds only a pointer.
* Major 'pthread' CPU driver cleanup.
* Major Workgroup.cc cleanup.
- Remove reproducible.patch (fixed upstream)
OBS-URL: https://build.opensuse.org/request/show/691606
OBS-URL: https://build.opensuse.org/package/show/science/pocl?expand=0&rev=45
- Update to version 1.1
* Support for LLVM/Clang 6.0 and 5.0.
* Experimental SPIR and SPIR-V support
* Improved kernel compilation speed
- Several tests have problems on some OBS workers while the same
tests run perfectly fine in a local chroot.
Disable tests for now.
- Create subpackage for the shared library
- Run tests after the build
OBS-URL: https://build.opensuse.org/request/show/589772
OBS-URL: https://build.opensuse.org/package/show/science/pocl?expand=0&rev=33
- 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})
-
OBS-URL: https://build.opensuse.org/request/show/558673
OBS-URL: https://build.opensuse.org/package/show/science/pocl?expand=0&rev=29
- Update to 0.14
- Support for LLVM/Clang versions 3.9 and 4.0. Version 3.9 was the first
release to include all frontend features for OpenCL 2.0.
- Ability to build pocl in a mode where online compilation is not
supported to run in hosts without LLVM and binaries compiled offline
e.g. using poclcc.
- pocl's binary format now can contain all the necessary bits to
execute the programs on a host without online compiler support.
- Initial support for out-of-order execution execution of command queues.
- It's now possible to cross-compile pocl when building an offline
compiler build.
- New driver api extension to support out-of-order and asynchronous
devices/drivers.
- Pthread and HSA drivers are now fully asynchronous.
- CMake now the only supported build system, autotools removed.
- LTTng tracing support
- Add patches:
- pocl-disable-tests.diff
- compilation errors on some tests disable tests for now
- Remove patches:
- 0001-Fixes-357-broken-build-with-GCC-6.1.patch
- fixed upstream
OBS-URL: https://build.opensuse.org/request/show/495724
OBS-URL: https://build.opensuse.org/package/show/science/pocl?expand=0&rev=17