diff options
author | CoprDistGit <infra@openeuler.org> | 2023-03-09 15:44:47 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-03-09 15:44:47 +0000 |
commit | 1445a40a359263087710be35c5339a1228eb87b6 (patch) | |
tree | bfdcd852a655af5a04e2d65864fb5c5c7b3dd28a | |
parent | 8d18c2b93200e5e8e036282f6d07f31511ed6ece (diff) |
automatic import of python-pyopencl
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-pyopencl.spec | 171 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 173 insertions, 0 deletions
@@ -0,0 +1 @@ +/pyopencl-2022.3.1.tar.gz diff --git a/python-pyopencl.spec b/python-pyopencl.spec new file mode 100644 index 0000000..d1bfa27 --- /dev/null +++ b/python-pyopencl.spec @@ -0,0 +1,171 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyopencl +Version: 2022.3.1 +Release: 1 +Summary: Python wrapper for OpenCL +License: MIT +URL: http://mathema.tician.de/software/pyopencl +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/dd/4c/7f60601cb3e55d21cff151da2121d7d19e8f9f69e3519dc8fca2593668b2/pyopencl-2022.3.1.tar.gz + +Requires: python3-numpy +Requires: python3-pytools +Requires: python3-platformdirs +Requires: python3-oclgrind-binary-distribution +Requires: python3-pocl-binary-distribution +Requires: python3-pytest +Requires: python3-Mako + +%description +PyOpenCL lets you access GPUs and other massively parallel compute +devices from Python. It tries to offer computing goodness in the +spirit of its sister project `PyCUDA <https://mathema.tician.de/software/pycuda>`__: +* Object cleanup tied to lifetime of objects. This idiom, often + called `RAII <https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization>`__ + in C++, makes it much easier to write correct, leak- and + crash-free code. +* Completeness. PyOpenCL puts the full power of OpenCL's API at + your disposal, if you wish. Every obscure ``get_info()`` query and + all CL calls are accessible. +* Automatic Error Checking. All CL errors are automatically + translated into Python exceptions. +* Speed. PyOpenCL's base layer is written in C++, so all the niceties + above are virtually free. +* Helpful and complete `Documentation <https://documen.tician.de/pyopencl>`__ + as well as a `Wiki <https://wiki.tiker.net/PyOpenCL>`__. +* Liberal license. PyOpenCL is open-source under the + `MIT license <https://en.wikipedia.org/wiki/MIT_License>`__ + and free for commercial, academic, and private use. +* Broad support. PyOpenCL was tested and works with Apple's, AMD's, and Nvidia's + CL implementations. +Simple 4-step `install instructions <https://documen.tician.de/pyopencl/misc.html#installation>`__ +using Conda on Linux and macOS (that also install a working OpenCL implementation!) +can be found in the `documentation <https://documen.tician.de/pyopencl/>`__. +What you'll need if you do *not* want to use the convenient instructions above and +instead build from source: +* gcc/g++ new enough to be compatible with pybind11 + (see their `FAQ <https://pybind11.readthedocs.io/en/stable/faq.html>`__) +* `numpy <https://numpy.org>`__, and +* an OpenCL implementation. (See this `howto <https://wiki.tiker.net/OpenCLHowTo>`__ + for how to get one.) + +%package -n python3-pyopencl +Summary: Python wrapper for OpenCL +Provides: python-pyopencl +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-pyopencl +PyOpenCL lets you access GPUs and other massively parallel compute +devices from Python. It tries to offer computing goodness in the +spirit of its sister project `PyCUDA <https://mathema.tician.de/software/pycuda>`__: +* Object cleanup tied to lifetime of objects. This idiom, often + called `RAII <https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization>`__ + in C++, makes it much easier to write correct, leak- and + crash-free code. +* Completeness. PyOpenCL puts the full power of OpenCL's API at + your disposal, if you wish. Every obscure ``get_info()`` query and + all CL calls are accessible. +* Automatic Error Checking. All CL errors are automatically + translated into Python exceptions. +* Speed. PyOpenCL's base layer is written in C++, so all the niceties + above are virtually free. +* Helpful and complete `Documentation <https://documen.tician.de/pyopencl>`__ + as well as a `Wiki <https://wiki.tiker.net/PyOpenCL>`__. +* Liberal license. PyOpenCL is open-source under the + `MIT license <https://en.wikipedia.org/wiki/MIT_License>`__ + and free for commercial, academic, and private use. +* Broad support. PyOpenCL was tested and works with Apple's, AMD's, and Nvidia's + CL implementations. +Simple 4-step `install instructions <https://documen.tician.de/pyopencl/misc.html#installation>`__ +using Conda on Linux and macOS (that also install a working OpenCL implementation!) +can be found in the `documentation <https://documen.tician.de/pyopencl/>`__. +What you'll need if you do *not* want to use the convenient instructions above and +instead build from source: +* gcc/g++ new enough to be compatible with pybind11 + (see their `FAQ <https://pybind11.readthedocs.io/en/stable/faq.html>`__) +* `numpy <https://numpy.org>`__, and +* an OpenCL implementation. (See this `howto <https://wiki.tiker.net/OpenCLHowTo>`__ + for how to get one.) + +%package help +Summary: Development documents and examples for pyopencl +Provides: python3-pyopencl-doc +%description help +PyOpenCL lets you access GPUs and other massively parallel compute +devices from Python. It tries to offer computing goodness in the +spirit of its sister project `PyCUDA <https://mathema.tician.de/software/pycuda>`__: +* Object cleanup tied to lifetime of objects. This idiom, often + called `RAII <https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization>`__ + in C++, makes it much easier to write correct, leak- and + crash-free code. +* Completeness. PyOpenCL puts the full power of OpenCL's API at + your disposal, if you wish. Every obscure ``get_info()`` query and + all CL calls are accessible. +* Automatic Error Checking. All CL errors are automatically + translated into Python exceptions. +* Speed. PyOpenCL's base layer is written in C++, so all the niceties + above are virtually free. +* Helpful and complete `Documentation <https://documen.tician.de/pyopencl>`__ + as well as a `Wiki <https://wiki.tiker.net/PyOpenCL>`__. +* Liberal license. PyOpenCL is open-source under the + `MIT license <https://en.wikipedia.org/wiki/MIT_License>`__ + and free for commercial, academic, and private use. +* Broad support. PyOpenCL was tested and works with Apple's, AMD's, and Nvidia's + CL implementations. +Simple 4-step `install instructions <https://documen.tician.de/pyopencl/misc.html#installation>`__ +using Conda on Linux and macOS (that also install a working OpenCL implementation!) +can be found in the `documentation <https://documen.tician.de/pyopencl/>`__. +What you'll need if you do *not* want to use the convenient instructions above and +instead build from source: +* gcc/g++ new enough to be compatible with pybind11 + (see their `FAQ <https://pybind11.readthedocs.io/en/stable/faq.html>`__) +* `numpy <https://numpy.org>`__, and +* an OpenCL implementation. (See this `howto <https://wiki.tiker.net/OpenCLHowTo>`__ + for how to get one.) + +%prep +%autosetup -n pyopencl-2022.3.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pyopencl -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 2022.3.1-1 +- Package Spec generated @@ -0,0 +1 @@ +767194b54abf8be8a739c02b139ff3fa pyopencl-2022.3.1.tar.gz |