commit 0c9543f83744513c6f44ccce282d34c5f2d47123cfd732389fa4303ff8b9fc2a Author: Matthias Mailänder Date: Wed Jun 10 18:42:22 2015 +0000 Accepting request 311488 from home:mnhauke:opencl:stable import pocl 0.11 to science:pocl OBS-URL: https://build.opensuse.org/request/show/311488 OBS-URL: https://build.opensuse.org/package/show/science/pocl?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/pocl-0.11.tar.gz b/pocl-0.11.tar.gz new file mode 100644 index 0000000..5dbbb52 --- /dev/null +++ b/pocl-0.11.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24bb801fb87d104b66faaa95d1890776fdeabb37ad1b12fb977281737c7f29bb +size 1561743 diff --git a/pocl.changes b/pocl.changes new file mode 100644 index 0000000..bdb11f2 --- /dev/null +++ b/pocl.changes @@ -0,0 +1,19 @@ +------------------------------------------------------------------- +Thu Mar 12 19:11:26 UTC 2015 - mardnh@gmx.de + +- update to version 0.11 + This release adds: + * kernel compiler support for LLVM/Clang 3.6, + * caching of compiled OpenCL kernels + * initial Android support + * experimental Windows support (many things still broken there) + * two new examples, Cloverleaf and Halide, updated AMDSDK examples + * better debugging possibilities + * initial MIPS architecture support + +------------------------------------------------------------------- +Tue Oct 7 19:16:42 UTC 2014 - mardnh@gmx.de + +- initial stable package, version 0.10 + based on home:mnhauke:opencl:testing/pocl + diff --git a/pocl.spec b/pocl.spec new file mode 100644 index 0000000..d4f63ee --- /dev/null +++ b/pocl.spec @@ -0,0 +1,142 @@ +# +# spec file for package pocl +# +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 Guillaume GARDET +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: pocl +Summary: Portable Computing Language - an OpenCL implementation +Version: 0.11 +Release: 0 +# 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) +License: MIT and BSD-3-Clause and (GPL-3.0+ or LGPL-3.0+) +Group: Productivity/Other +Url: http://portablecl.org/ +Source0: http://portablecl.org/downloads/%{name}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-build +# Only armv7l is supported +# PPC support is currently broken, due to path problems +# s390(x) and aarch64 also not supported, so use ExclusiveArch +ExclusiveArch: %{ix86} x86_64 armv7l armv7hl +BuildRequires: cmake +BuildRequires: boost-devel +BuildRequires: llvm-clang >= 3.3 +BuildRequires: llvm-clang-devel >= 3.3 +BuildRequires: llvm >= 3.3 +BuildRequires: llvm-devel >= 3.3 +BuildRequires: libtool +BuildRequires: libtool-ltdl-devel +BuildRequires: pkgconfig +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(glu) +BuildRequires: pkgconfig(glew) +BuildRequires: pkgconfig(OpenCL) +BuildRequires: pkgconfig(hwloc) +BuildRequires: ncurses-devel +BuildRequires: opencl-headers +BuildRequires: uthash-devel +#BuildRequires: vecmath-devel +Requires: llvm-clang >= 3.3 +Requires: uthash +Requires: libstdc++-devel + + +%description +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. + + +%package devel +Summary: Portable Computing Language - development files +Group: Development/Languages/Other +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: opencl-headers + + +%description devel +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. + +This Subpackage provides the development files needed for pocl. + + +%prep +%setup -q + +%build +mkdir build +cd build +cmake ..\ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DWITH_LLVM_CONFIG=/usr/bin/llvm-config +make %{?_smp_mflags} + +# docs +#cd doc/sphinx +#make html + +%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 + +%check +cd build +ctest %{?_smp_mflags} ||: + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%doc CHANGES README doc/sphinx/source/*.rst +%dir %{_sysconfdir}/OpenCL/ +%dir %{_sysconfdir}/OpenCL/vendors +%{_sysconfdir}/OpenCL/vendors/pocl.icd +%{_bindir}/pocl-standalone +%{_libdir}/libpocl.so.* +%{_libdir}/libpoclu.so.* +%{_libdir}/pocl/ +%{_datadir}/pocl/ + +%files devel +%defattr(-,root,root) +%{_libdir}/libpoclu.so +%{_libdir}/libpocl.so +%{_libdir}/pkgconfig/pocl.pc +%{_includedir}/poclu.h + +%changelog