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("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> 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 Name: pocl
Version: 1.8 Version: 3.0
Release: 0 Release: 0
Summary: Portable Computing Language - an OpenCL implementation Summary: Portable Computing Language - an OpenCL implementation
# The whole code is under MIT # The whole code is under MIT
# except include/utlist.h which is under BSD (and unbundled) and # except include/utlist.h which is under BSD (and unbundled)
# except lib/kernel/vecmath which is under GPLv3+ or LGPLv3+ (and unbundled in future)
License: MIT License: MIT
Group: Development/Tools/Other Group: Development/Tools/Other
URL: http://portablecl.org/ URL: http://portablecl.org/
Source0: https://github.com/pocl/pocl/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source0: https://github.com/pocl/pocl/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source99: pocl-rpmlintrc Source99: pocl-rpmlintrc
Patch0: link_against_libclang-cpp_so.patch Patch0: link_against_libclang-cpp_so.patch
%if 0%{?suse_version} > 1500
BuildRequires: clang13-devel
%else
BuildRequires: clang-devel >= 6.0.0 BuildRequires: clang-devel >= 6.0.0
%endif
BuildRequires: cmake BuildRequires: cmake
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: ninja BuildRequires: ninja
@ -43,11 +39,9 @@ BuildRequires: opencl-headers
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: pkgconfig(OpenCL) BuildRequires: pkgconfig(OpenCL)
BuildRequires: pkgconfig(hwloc) BuildRequires: pkgconfig(hwloc)
# Autoreq does not look into the ICD file
Requires: libpocl2
# PPC has limited support/testing from upstream # PPC has limited support/testing from upstream
# s390(x) is also not supported, so use ExclusiveArch # s390(x) is also not supported, so use ExclusiveArch
ExclusiveArch: %{ix86} x86_64 %arm aarch64 ExclusiveArch: %{ix86} x86_64 %arm aarch64 riscv64
%description %description
Portable Computing Language (pocl) is an implementation of the OpenCL standard 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 parallel hardware resources, such as VLIW, superscalar, SIMD, SIMT, multicore
and multithread. and multithread.
%package -n libpocl2 %package -n libpocl%{sover}
Summary: Shared Library part of pocl Summary: Shared Library part of pocl
Group: System/Libraries Group: System/Libraries
%description -n libpocl2 %description -n libpocl%{sover}
Portable Computing Language (pocl) is an implementation of the OpenCL standard 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 which can be adapted for new targets and devices, both for homogeneous CPU and
heterogenous GPUs/accelerators. heterogenous GPUs/accelerators.
@ -77,8 +71,8 @@ This subpackage contains the shared library part of pocl.
%package devel %package devel
Summary: Development files for the Portable Computing Language Summary: Development files for the Portable Computing Language
Group: Development/Languages/Other Group: Development/Languages/Other
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name} = %{version}
Requires: libpocl2 = %{version}-%{release} Requires: libpocl%{sover} = %{version}
Requires: opencl-headers >= 2.2 Requires: opencl-headers >= 2.2
%description devel %description devel
@ -92,11 +86,6 @@ This subpackage provides the development files needed for pocl.
%setup -q %setup -q
%patch0 -p1 %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 %build
%define __builder ninja %define __builder ninja
%cmake \ %cmake \
@ -117,20 +106,13 @@ sed -i 's/find_program_or_die( *\([^ ]*\) *"\([^"]*\)" *"\([^"]*\)" *)/find_prog
%endif %endif
-DWITH_LLVM_CONFIG=%{_bindir}/llvm-config -DWITH_LLVM_CONFIG=%{_bindir}/llvm-config
sed -i 's/-Wl,--no-undefined//g' CMakeCache.txt %cmake_build
sed -i 's/-Wl,--no-undefined//g' build.ninja
%make_jobs
%install %install
%cmake_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 %post -n libpocl%{sover} -p /sbin/ldconfig
%postun -n libpocl2 -p /sbin/ldconfig %postun -n libpocl%{sover} -p /sbin/ldconfig
%files %files
%doc CHANGES README doc/sphinx/source/*.rst %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 %{_datadir}/OpenCL/vendors/pocl.icd
%{_bindir}/poclcc %{_bindir}/poclcc
%dir %{_libdir}/pocl/ %dir %{_libdir}/pocl/
%{_libdir}/pocl/libllvmopencl.so
%{_libdir}/pocl/libpocl-devices-basic.so %{_libdir}/pocl/libpocl-devices-basic.so
%{_libdir}/pocl/libpocl-devices-pthread.so %{_libdir}/pocl/libpocl-devices-pthread.so
%{_datadir}/pocl/ %{_datadir}/pocl/
%files -n libpocl2 %files -n libpocl%{sover}
%{_libdir}/libpocl.so.2 %{_libdir}/libpocl.so.%{sover}*
%{_libdir}/libpocl.so.%{sover}
%files devel %files devel
%{_libdir}/libpocl.so %{_libdir}/libpocl.so