SHA256
1
0
forked from pool/pocl

Accepting request 1001506 from home:StefanBruens:branches:science

- 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
This commit is contained in:
Martin Hauke 2022-09-06 19:34:32 +00:00 committed by Git OBS Bridge
parent e6a3b2e2e1
commit 695b557269
5 changed files with 30 additions and 38 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0f63377ae1826e16e90038fc8e7f65029be4ff6f9b059f6907174b5c0d1f8ab2
size 1614545

3
pocl-3.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a3fd3889ef7854b90b8e4c7899c5de48b7494bf770e39fba5ad268a5cbcc719d
size 1722809

View File

@ -1,2 +1 @@
addFilter("devel-file-in-non-devel-package")
addFilter("W: non-conffile-in-etc /etc/OpenCL/vendors/pocl.icd")

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Tue Sep 6 16:34:33 UTC 2022 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- 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 <aaronpuchert@alice-dsl.net>

View File

@ -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
# <visit0r> 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