diff --git a/pocl-1.8.tar.gz b/pocl-1.8.tar.gz deleted file mode 100644 index 76b5485..0000000 --- a/pocl-1.8.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f63377ae1826e16e90038fc8e7f65029be4ff6f9b059f6907174b5c0d1f8ab2 -size 1614545 diff --git a/pocl-3.0.tar.gz b/pocl-3.0.tar.gz new file mode 100644 index 0000000..39abec9 --- /dev/null +++ b/pocl-3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3fd3889ef7854b90b8e4c7899c5de48b7494bf770e39fba5ad268a5cbcc719d +size 1722809 diff --git a/pocl-rpmlintrc b/pocl-rpmlintrc index 73707b1..67d25fd 100644 --- a/pocl-rpmlintrc +++ b/pocl-rpmlintrc @@ -1,2 +1 @@ addFilter("devel-file-in-non-devel-package") -addFilter("W: non-conffile-in-etc /etc/OpenCL/vendors/pocl.icd") diff --git a/pocl.changes b/pocl.changes index d1f0d6f..c5bb621 100644 --- a/pocl.changes +++ b/pocl.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Sep 6 16:34:33 UTC 2022 - Stefan BrĂ¼ns + +- 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. + ------------------------------------------------------------------- Sat Jun 4 14:33:49 UTC 2022 - Aaron Puchert diff --git a/pocl.spec b/pocl.spec index 82e74e0..ab77ecc 100644 --- a/pocl.spec +++ b/pocl.spec @@ -17,25 +17,21 @@ # -%define sover 2.8.0 +%define sover 2 + Name: pocl -Version: 1.8 +Version: 3.0 Release: 0 Summary: Portable Computing Language - an OpenCL implementation # The whole code is under MIT -# except include/utlist.h which is under BSD (and unbundled) and -# except lib/kernel/vecmath which is under GPLv3+ or LGPLv3+ (and unbundled in future) +# except include/utlist.h which is under BSD (and unbundled) License: MIT Group: Development/Tools/Other URL: http://portablecl.org/ Source0: https://github.com/pocl/pocl/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source99: pocl-rpmlintrc Patch0: link_against_libclang-cpp_so.patch -%if 0%{?suse_version} > 1500 -BuildRequires: clang13-devel -%else BuildRequires: clang-devel >= 6.0.0 -%endif BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: ninja @@ -43,11 +39,9 @@ BuildRequires: opencl-headers BuildRequires: pkgconfig BuildRequires: pkgconfig(OpenCL) BuildRequires: pkgconfig(hwloc) -# Autoreq does not look into the ICD file -Requires: libpocl2 # PPC has limited support/testing from upstream # s390(x) is also not supported, so use ExclusiveArch -ExclusiveArch: %{ix86} x86_64 %arm aarch64 +ExclusiveArch: %{ix86} x86_64 %arm aarch64 riscv64 %description Portable Computing Language (pocl) is an implementation of the OpenCL standard @@ -63,11 +57,11 @@ can generate multi-work-item work-group functions that exploit various types of parallel hardware resources, such as VLIW, superscalar, SIMD, SIMT, multicore and multithread. -%package -n libpocl2 +%package -n libpocl%{sover} Summary: Shared Library part of pocl Group: System/Libraries -%description -n libpocl2 +%description -n libpocl%{sover} Portable Computing Language (pocl) is an implementation of the OpenCL standard which can be adapted for new targets and devices, both for homogeneous CPU and heterogenous GPUs/accelerators. @@ -77,8 +71,8 @@ This subpackage contains the shared library part of pocl. %package devel Summary: Development files for the Portable Computing Language Group: Development/Languages/Other -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: libpocl2 = %{version}-%{release} +Requires: %{name} = %{version} +Requires: libpocl%{sover} = %{version} Requires: opencl-headers >= 2.2 %description devel @@ -92,11 +86,6 @@ This subpackage provides the development files needed for pocl. %setup -q %patch0 -p1 -%if 0%{?suse_version} > 1500 -# Make sure we use the right LLVM version. -sed -i 's/find_program_or_die( *\([^ ]*\) *"\([^"]*\)" *"\([^"]*\)" *)/find_program_or_die(\1 "\2-%{pkg_version clang13-devel}" "\3")/g' cmake/LLVM.cmake -%endif - %build %define __builder ninja %cmake \ @@ -117,20 +106,13 @@ sed -i 's/find_program_or_die( *\([^ ]*\) *"\([^"]*\)" *"\([^"]*\)" *)/find_prog %endif -DWITH_LLVM_CONFIG=%{_bindir}/llvm-config -sed -i 's/-Wl,--no-undefined//g' CMakeCache.txt -sed -i 's/-Wl,--no-undefined//g' build.ninja - -%make_jobs +%cmake_build %install %cmake_install -# Unbundle vecmath -#rm -vf %%{buildroot}/%%{_libdir}/pocl/vecmath/ -#ln -vs %%{_includedir}/vecmath %%{buildroot}/%%{_libdir}/pocl/vecmath -# but you need to run the .py to generate the files under the pocl dir -%post -n libpocl2 -p /sbin/ldconfig -%postun -n libpocl2 -p /sbin/ldconfig +%post -n libpocl%{sover} -p /sbin/ldconfig +%postun -n libpocl%{sover} -p /sbin/ldconfig %files %doc CHANGES README doc/sphinx/source/*.rst @@ -140,14 +122,12 @@ sed -i 's/-Wl,--no-undefined//g' build.ninja %{_datadir}/OpenCL/vendors/pocl.icd %{_bindir}/poclcc %dir %{_libdir}/pocl/ -%{_libdir}/pocl/libllvmopencl.so %{_libdir}/pocl/libpocl-devices-basic.so %{_libdir}/pocl/libpocl-devices-pthread.so %{_datadir}/pocl/ -%files -n libpocl2 -%{_libdir}/libpocl.so.2 -%{_libdir}/libpocl.so.%{sover} +%files -n libpocl%{sover} +%{_libdir}/libpocl.so.%{sover}* %files devel %{_libdir}/libpocl.so