python-numba/python-numba.spec

172 lines
6.2 KiB
RPMSpec
Raw Normal View History

#
# spec file
#
# Copyright (c) 2023 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
%define plainpython python
# upper bound is exclusive: min-numpy_ver <= numpy < max_numpy_ver
%define min_numpy_ver 1.18
%define max_numpy_ver 1.25
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
Name: python-numba%{psuffix}
Version: 0.56.4
Release: 0
Summary: NumPy-aware optimizing compiler for Python using LLVM
License: BSD-2-Clause
Accepting request 880602 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.53.0 * Support for Python 3.9 * Function sub-typing * Initial support for dynamic gufuncs (i.e. from @guvectorize) * Parallel Accelerator (@njit(parallel=True) now supports Fortran ordered arrays * Full release notes at https://numba.readthedocs.io/en/0.53.0/release-notes.html - Don't unpin-llvmlite.patch. It really need to be the correct version. - Refresh skip-failing-tests.patch - Add packaging-ignore-setuptools-deprecation.patch gh#numba/numba#6837 - Add numba-pr6851-llvm-timings.patch gh#numba/numba#6851 in order to fix 32-bit issues gh#numba/numba#6832 - Update to 0.52.0 https://numba.readthedocs.io/en/stable/release-notes.html This release focuses on performance improvements, but also adds some new features and contains numerous bug fixes and stability improvements. Highlights of core performance improvements include: * Intel kindly sponsored research and development into producing a new reference count pruning pass. This pass operates at the LLVM level and can prune a number of common reference counting patterns. This will improve performance for two primary reasons: - There will be less pressure on the atomic locks used to do the reference counting. - Removal of reference counting operations permits more inlining and the optimisation passes can in general do more with what is present. (Siu Kwan Lam). * Intel also sponsored work to improve the performance of the numba.typed.List container, particularly in the case of __getitem__ and iteration (Stuart Archibald). * Superword-level parallelism vectorization is now switched on and the optimisation pipeline has been lightly analysed and tuned so as to be able to vectorize more and more often (Stuart Archibald). Highlights of core feature changes include: * The inspect_cfg method on the JIT dispatcher object has been significantly enhanced and now includes highlighted output and interleaved line markers and Python source (Stuart Archibald). * The BSD operating system is now unofficially supported (Stuart Archibald). * Numerous features/functionality improvements to NumPy support, including support for: - np.asfarray (Guilherme Leobas) - “subtyping” in record arrays (Lucio Fernandez-Arjona) - np.split and np.array_split (Isaac Virshup) - operator.contains with ndarray (@mugoh). - np.asarray_chkfinite (Rishabh Varshney). - NumPy 1.19 (Stuart Archibald). - the ndarray allocators, empty, ones and zeros, accepting a dtype specified as a string literal (Stuart Archibald). * Booleans are now supported as literal types (Alexey Kozlov). * On the CUDA target: * CUDA 9.0 is now the minimum supported version (Graham Markall). * Support for Unified Memory has been added (Max Katz). * Kernel launch overhead is reduced (Graham Markall). * Cudasim support for mapped array, memcopies and memset has been * added (Mike Williams). * Access has been wired in to all libdevice functions (Graham Markall). * Additional CUDA atomic operations have been added (Michae Collison). * Additional math library functions (frexp, ldexp, isfinite) (Zhihao * Yuan). * Support for power on complex numbers (Graham Markall). Deprecations to note: * There are no new deprecations. However, note that “compatibility” mode, which was added some 40 releases ago to help transition from 0.11 to 0.12+, has been removed! Also, the shim to permit the import of jitclass from Numba’s top level namespace has now been removed as per the deprecation schedule. - NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20 OBS-URL: https://build.opensuse.org/request/show/880602 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=47
2021-03-22 23:18:24 +01:00
URL: https://numba.pydata.org/
Source: https://files.pythonhosted.org/packages/source/n/numba/numba-%{version}.tar.gz
Accepting request 880602 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.53.0 * Support for Python 3.9 * Function sub-typing * Initial support for dynamic gufuncs (i.e. from @guvectorize) * Parallel Accelerator (@njit(parallel=True) now supports Fortran ordered arrays * Full release notes at https://numba.readthedocs.io/en/0.53.0/release-notes.html - Don't unpin-llvmlite.patch. It really need to be the correct version. - Refresh skip-failing-tests.patch - Add packaging-ignore-setuptools-deprecation.patch gh#numba/numba#6837 - Add numba-pr6851-llvm-timings.patch gh#numba/numba#6851 in order to fix 32-bit issues gh#numba/numba#6832 - Update to 0.52.0 https://numba.readthedocs.io/en/stable/release-notes.html This release focuses on performance improvements, but also adds some new features and contains numerous bug fixes and stability improvements. Highlights of core performance improvements include: * Intel kindly sponsored research and development into producing a new reference count pruning pass. This pass operates at the LLVM level and can prune a number of common reference counting patterns. This will improve performance for two primary reasons: - There will be less pressure on the atomic locks used to do the reference counting. - Removal of reference counting operations permits more inlining and the optimisation passes can in general do more with what is present. (Siu Kwan Lam). * Intel also sponsored work to improve the performance of the numba.typed.List container, particularly in the case of __getitem__ and iteration (Stuart Archibald). * Superword-level parallelism vectorization is now switched on and the optimisation pipeline has been lightly analysed and tuned so as to be able to vectorize more and more often (Stuart Archibald). Highlights of core feature changes include: * The inspect_cfg method on the JIT dispatcher object has been significantly enhanced and now includes highlighted output and interleaved line markers and Python source (Stuart Archibald). * The BSD operating system is now unofficially supported (Stuart Archibald). * Numerous features/functionality improvements to NumPy support, including support for: - np.asfarray (Guilherme Leobas) - “subtyping” in record arrays (Lucio Fernandez-Arjona) - np.split and np.array_split (Isaac Virshup) - operator.contains with ndarray (@mugoh). - np.asarray_chkfinite (Rishabh Varshney). - NumPy 1.19 (Stuart Archibald). - the ndarray allocators, empty, ones and zeros, accepting a dtype specified as a string literal (Stuart Archibald). * Booleans are now supported as literal types (Alexey Kozlov). * On the CUDA target: * CUDA 9.0 is now the minimum supported version (Graham Markall). * Support for Unified Memory has been added (Max Katz). * Kernel launch overhead is reduced (Graham Markall). * Cudasim support for mapped array, memcopies and memset has been * added (Mike Williams). * Access has been wired in to all libdevice functions (Graham Markall). * Additional CUDA atomic operations have been added (Michae Collison). * Additional math library functions (frexp, ldexp, isfinite) (Zhihao * Yuan). * Support for power on complex numbers (Graham Markall). Deprecations to note: * There are no new deprecations. However, note that “compatibility” mode, which was added some 40 releases ago to help transition from 0.11 to 0.12+, has been removed! Also, the shim to permit the import of jitclass from Numba’s top level namespace has now been removed as per the deprecation schedule. - NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20 OBS-URL: https://build.opensuse.org/request/show/880602 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=47
2021-03-22 23:18:24 +01:00
# PATCH-FIX-OPENSUSE skip tests failing due to OBS specifics
Patch2: fix-cli-test.patch
Accepting request 880602 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.53.0 * Support for Python 3.9 * Function sub-typing * Initial support for dynamic gufuncs (i.e. from @guvectorize) * Parallel Accelerator (@njit(parallel=True) now supports Fortran ordered arrays * Full release notes at https://numba.readthedocs.io/en/0.53.0/release-notes.html - Don't unpin-llvmlite.patch. It really need to be the correct version. - Refresh skip-failing-tests.patch - Add packaging-ignore-setuptools-deprecation.patch gh#numba/numba#6837 - Add numba-pr6851-llvm-timings.patch gh#numba/numba#6851 in order to fix 32-bit issues gh#numba/numba#6832 - Update to 0.52.0 https://numba.readthedocs.io/en/stable/release-notes.html This release focuses on performance improvements, but also adds some new features and contains numerous bug fixes and stability improvements. Highlights of core performance improvements include: * Intel kindly sponsored research and development into producing a new reference count pruning pass. This pass operates at the LLVM level and can prune a number of common reference counting patterns. This will improve performance for two primary reasons: - There will be less pressure on the atomic locks used to do the reference counting. - Removal of reference counting operations permits more inlining and the optimisation passes can in general do more with what is present. (Siu Kwan Lam). * Intel also sponsored work to improve the performance of the numba.typed.List container, particularly in the case of __getitem__ and iteration (Stuart Archibald). * Superword-level parallelism vectorization is now switched on and the optimisation pipeline has been lightly analysed and tuned so as to be able to vectorize more and more often (Stuart Archibald). Highlights of core feature changes include: * The inspect_cfg method on the JIT dispatcher object has been significantly enhanced and now includes highlighted output and interleaved line markers and Python source (Stuart Archibald). * The BSD operating system is now unofficially supported (Stuart Archibald). * Numerous features/functionality improvements to NumPy support, including support for: - np.asfarray (Guilherme Leobas) - “subtyping” in record arrays (Lucio Fernandez-Arjona) - np.split and np.array_split (Isaac Virshup) - operator.contains with ndarray (@mugoh). - np.asarray_chkfinite (Rishabh Varshney). - NumPy 1.19 (Stuart Archibald). - the ndarray allocators, empty, ones and zeros, accepting a dtype specified as a string literal (Stuart Archibald). * Booleans are now supported as literal types (Alexey Kozlov). * On the CUDA target: * CUDA 9.0 is now the minimum supported version (Graham Markall). * Support for Unified Memory has been added (Max Katz). * Kernel launch overhead is reduced (Graham Markall). * Cudasim support for mapped array, memcopies and memset has been * added (Mike Williams). * Access has been wired in to all libdevice functions (Graham Markall). * Additional CUDA atomic operations have been added (Michae Collison). * Additional math library functions (frexp, ldexp, isfinite) (Zhihao * Yuan). * Support for power on complex numbers (Graham Markall). Deprecations to note: * There are no new deprecations. However, note that “compatibility” mode, which was added some 40 releases ago to help transition from 0.11 to 0.12+, has been removed! Also, the shim to permit the import of jitclass from Numba’s top level namespace has now been removed as per the deprecation schedule. - NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20 OBS-URL: https://build.opensuse.org/request/show/880602 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=47
2021-03-22 23:18:24 +01:00
Patch3: skip-failing-tests.patch
# PATCH-FIX-OPENSUSE update-tbb-backend-calls-2021.6.patch, based on gh#numba/numba#7608
Patch4: update-tbb-backend-calls-2021.6.patch
# PATCH-FIX-UPSTREAM allow-numpy-1.24.patch bsc#[0-9]+ mcepl@suse.com
# Allow working with numpy 1.24 and higher
Patch5: allow-numpy-1.24.patch
BuildRequires: %{python_module devel >= 3.7}
BuildRequires: %{python_module numpy-devel >= %{min_numpy_ver} with %python-numpy-devel < %{max_numpy_ver}}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: python-rpm-macros
BuildRequires: (tbb-devel >= 2021)
Requires: (python-llvmlite >= 0.39 with python-llvmlite < 0.40)
Requires: (python-numpy >= %{min_numpy_ver} with python-numpy < %{max_numpy_ver})
Requires(post): update-alternatives
Requires(postun):update-alternatives
Recommends: python-Jinja2
Recommends: python-Pygments
Recommends: python-cffi
Recommends: python-scipy > 1.0
Recommends: python-tbb
Accepting request 798175 from home:mcalabkova:branches:devel:languages:python:numeric - Update to 0.49.0 * Removal of all Python 2 related code and also updating the minimum supported Python version to 3.6, the minimum supported NumPy version to 1.15 and the minimum supported SciPy version to 1.0. (Stuart Archibald). * Refactoring of the Numba code base. The code is now organised into submodules by functionality. This cleans up Numba's top level namespace. (Stuart Archibald). * Introduction of an ``ir.Del`` free static single assignment form for Numba's intermediate representation (Siu Kwan Lam and Stuart Archibald). * An OpenMP-like thread masking API has been added for use with code using the parallel CPU backends (Aaron Meurer and Stuart Archibald). * For the CUDA target, all kernel launches now require a configuration, this preventing accidental launches of kernels with the old default of a single thread in a single block. The hard-coded autotuner is also now removed, such tuning is deferred to CUDA API calls that provide the same functionality (Graham Markall). * The CUDA target also gained an External Memory Management plugin interface to allow Numba to use another CUDA-aware library for all memory allocations and deallocations (Graham Markall). * The Numba Typed List container gained support for construction from iterables (Valentin Haenel). * Experimental support was added for first-class function types (Pearu Peterson). - Refreshed patch skip-failing-tests.patch * the troublesome tests are skipped upstream on 32-bit - Unpin llvmlite OBS-URL: https://build.opensuse.org/request/show/798175 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=41
2020-04-27 21:40:16 +02:00
%if %{with test}
BuildRequires: %{python_module Jinja2}
BuildRequires: %{python_module PyYAML}
BuildRequires: %{python_module Pygments}
BuildRequires: %{python_module cffi}
BuildRequires: %{python_module ipython}
BuildRequires: %{python_module numba = %{version}}
BuildRequires: %{python_module numba-devel = %{version}}
Accepting request 845659 from home:mcalabkova:branches:devel:languages:python:numeric - Update to 0.51.2 * The compilation chain is now based on LLVM 10 (Valentin Haenel). * Numba has internally switched to prefer non-literal types over literal ones so as to reduce function over-specialisation, this with view of speeding up compile times (Siu Kwan Lam). * On the CUDA target: Support for CUDA Toolkit 11, Ampere, and Compute Capability 8.0; Printing of ``SASS`` code for kernels; Callbacks to Python functions can be inserted into CUDA streams, and streams are async awaitable; Atomic ``nanmin`` and ``nanmax`` functions are added; Fixes for various miscompilations and segfaults. (mostly Graham Markall; call backs on streams by Peter Würtz). * Support for heterogeneous immutable lists and heterogeneous immutable string key dictionaries. Also optional initial/construction value capturing for all lists and dictionaries containing literal values (Stuart Archibald). * A new pass-by-reference mutable structure extension type ``StructRef`` (Siu Kwan Lam). * Object mode blocks are now cacheable, with the side effect of numerous bug fixes and performance improvements in caching. This also permits caching of functions defined in closures (Siu Kwan Lam). * The error handling and reporting system has been improved to reduce the size of error messages, and also improve quality and specificity. * The CUDA target has more stream constructors available and a new function for compiling to PTX without linking and loading the code to a device. Further, the macro-based system for describing CUDA threads and blocks has been replaced with standard typing and lowering implementations, for improved debugging and extensibility. - Better unpin llvmlite with unpin-llvmlite.patch to avoid breakages OBS-URL: https://build.opensuse.org/request/show/845659 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=45
2020-11-03 14:11:54 +01:00
BuildRequires: %{python_module pip}
Accepting request 880602 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.53.0 * Support for Python 3.9 * Function sub-typing * Initial support for dynamic gufuncs (i.e. from @guvectorize) * Parallel Accelerator (@njit(parallel=True) now supports Fortran ordered arrays * Full release notes at https://numba.readthedocs.io/en/0.53.0/release-notes.html - Don't unpin-llvmlite.patch. It really need to be the correct version. - Refresh skip-failing-tests.patch - Add packaging-ignore-setuptools-deprecation.patch gh#numba/numba#6837 - Add numba-pr6851-llvm-timings.patch gh#numba/numba#6851 in order to fix 32-bit issues gh#numba/numba#6832 - Update to 0.52.0 https://numba.readthedocs.io/en/stable/release-notes.html This release focuses on performance improvements, but also adds some new features and contains numerous bug fixes and stability improvements. Highlights of core performance improvements include: * Intel kindly sponsored research and development into producing a new reference count pruning pass. This pass operates at the LLVM level and can prune a number of common reference counting patterns. This will improve performance for two primary reasons: - There will be less pressure on the atomic locks used to do the reference counting. - Removal of reference counting operations permits more inlining and the optimisation passes can in general do more with what is present. (Siu Kwan Lam). * Intel also sponsored work to improve the performance of the numba.typed.List container, particularly in the case of __getitem__ and iteration (Stuart Archibald). * Superword-level parallelism vectorization is now switched on and the optimisation pipeline has been lightly analysed and tuned so as to be able to vectorize more and more often (Stuart Archibald). Highlights of core feature changes include: * The inspect_cfg method on the JIT dispatcher object has been significantly enhanced and now includes highlighted output and interleaved line markers and Python source (Stuart Archibald). * The BSD operating system is now unofficially supported (Stuart Archibald). * Numerous features/functionality improvements to NumPy support, including support for: - np.asfarray (Guilherme Leobas) - “subtyping” in record arrays (Lucio Fernandez-Arjona) - np.split and np.array_split (Isaac Virshup) - operator.contains with ndarray (@mugoh). - np.asarray_chkfinite (Rishabh Varshney). - NumPy 1.19 (Stuart Archibald). - the ndarray allocators, empty, ones and zeros, accepting a dtype specified as a string literal (Stuart Archibald). * Booleans are now supported as literal types (Alexey Kozlov). * On the CUDA target: * CUDA 9.0 is now the minimum supported version (Graham Markall). * Support for Unified Memory has been added (Max Katz). * Kernel launch overhead is reduced (Graham Markall). * Cudasim support for mapped array, memcopies and memset has been * added (Mike Williams). * Access has been wired in to all libdevice functions (Graham Markall). * Additional CUDA atomic operations have been added (Michae Collison). * Additional math library functions (frexp, ldexp, isfinite) (Zhihao * Yuan). * Support for power on complex numbers (Graham Markall). Deprecations to note: * There are no new deprecations. However, note that “compatibility” mode, which was added some 40 releases ago to help transition from 0.11 to 0.12+, has been removed! Also, the shim to permit the import of jitclass from Numba’s top level namespace has now been removed as per the deprecation schedule. - NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20 OBS-URL: https://build.opensuse.org/request/show/880602 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=47
2021-03-22 23:18:24 +01:00
BuildRequires: %{python_module psutil}
Accepting request 798175 from home:mcalabkova:branches:devel:languages:python:numeric - Update to 0.49.0 * Removal of all Python 2 related code and also updating the minimum supported Python version to 3.6, the minimum supported NumPy version to 1.15 and the minimum supported SciPy version to 1.0. (Stuart Archibald). * Refactoring of the Numba code base. The code is now organised into submodules by functionality. This cleans up Numba's top level namespace. (Stuart Archibald). * Introduction of an ``ir.Del`` free static single assignment form for Numba's intermediate representation (Siu Kwan Lam and Stuart Archibald). * An OpenMP-like thread masking API has been added for use with code using the parallel CPU backends (Aaron Meurer and Stuart Archibald). * For the CUDA target, all kernel launches now require a configuration, this preventing accidental launches of kernels with the old default of a single thread in a single block. The hard-coded autotuner is also now removed, such tuning is deferred to CUDA API calls that provide the same functionality (Graham Markall). * The CUDA target also gained an External Memory Management plugin interface to allow Numba to use another CUDA-aware library for all memory allocations and deallocations (Graham Markall). * The Numba Typed List container gained support for construction from iterables (Valentin Haenel). * Experimental support was added for first-class function types (Pearu Peterson). - Refreshed patch skip-failing-tests.patch * the troublesome tests are skipped upstream on 32-bit - Unpin llvmlite OBS-URL: https://build.opensuse.org/request/show/798175 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=41
2020-04-27 21:40:16 +02:00
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module scipy >= 1.0}
Accepting request 798175 from home:mcalabkova:branches:devel:languages:python:numeric - Update to 0.49.0 * Removal of all Python 2 related code and also updating the minimum supported Python version to 3.6, the minimum supported NumPy version to 1.15 and the minimum supported SciPy version to 1.0. (Stuart Archibald). * Refactoring of the Numba code base. The code is now organised into submodules by functionality. This cleans up Numba's top level namespace. (Stuart Archibald). * Introduction of an ``ir.Del`` free static single assignment form for Numba's intermediate representation (Siu Kwan Lam and Stuart Archibald). * An OpenMP-like thread masking API has been added for use with code using the parallel CPU backends (Aaron Meurer and Stuart Archibald). * For the CUDA target, all kernel launches now require a configuration, this preventing accidental launches of kernels with the old default of a single thread in a single block. The hard-coded autotuner is also now removed, such tuning is deferred to CUDA API calls that provide the same functionality (Graham Markall). * The CUDA target also gained an External Memory Management plugin interface to allow Numba to use another CUDA-aware library for all memory allocations and deallocations (Graham Markall). * The Numba Typed List container gained support for construction from iterables (Valentin Haenel). * Experimental support was added for first-class function types (Pearu Peterson). - Refreshed patch skip-failing-tests.patch * the troublesome tests are skipped upstream on 32-bit - Unpin llvmlite OBS-URL: https://build.opensuse.org/request/show/798175 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=41
2020-04-27 21:40:16 +02:00
BuildRequires: %{python_module tbb}
%endif
# Tests fail on ppc64 big endian, not resolvable on s390x
# Supported Platforms: https://numba.pydata.org/numba-doc/dev/user/installing.html#compatibility
ExclusiveArch: x86_64 %ix86 ppc64le %arm aarch64
%python_subpackages
%description
Numba is a NumPy-aware optimizing compiler for Python. It uses the
LLVM compiler infrastructure to compile Python syntax to
machine code.
It is aware of NumPy arrays as typed memory regions and so can speed-up
code using NumPy arrays. Other, less well-typed code will be translated
to Python C-API calls, effectively removing the "interpreter", but not removing
the dynamic indirection.
Numba is also not a tracing JIT. It *compiles* your code before it gets
run, either using run-time type information or type information you provide
in the decorator.
Numba is a mechanism for producing machine code from Python syntax and typed
data structures such as those that exist in NumPy.
%package devel
Summary: Development files for numba applications
Requires: %{name} = %{version}
Requires: python-devel
Requires: %{plainpython}(abi) = %{python_version}
Requires: (python-numpy-devel >= %{min_numpy_ver} with python-numpy-devel < %{max_numpy_ver})
%description devel
This package contains files for developing applications using numba.
%prep
%autosetup -p1 -n numba-%{version}
sed -i -e '1{/env python/ d}' numba/misc/appdirs.py
# random timeouts in OBS
rm numba/tests/test_typedlist.py
Accepting request 880602 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.53.0 * Support for Python 3.9 * Function sub-typing * Initial support for dynamic gufuncs (i.e. from @guvectorize) * Parallel Accelerator (@njit(parallel=True) now supports Fortran ordered arrays * Full release notes at https://numba.readthedocs.io/en/0.53.0/release-notes.html - Don't unpin-llvmlite.patch. It really need to be the correct version. - Refresh skip-failing-tests.patch - Add packaging-ignore-setuptools-deprecation.patch gh#numba/numba#6837 - Add numba-pr6851-llvm-timings.patch gh#numba/numba#6851 in order to fix 32-bit issues gh#numba/numba#6832 - Update to 0.52.0 https://numba.readthedocs.io/en/stable/release-notes.html This release focuses on performance improvements, but also adds some new features and contains numerous bug fixes and stability improvements. Highlights of core performance improvements include: * Intel kindly sponsored research and development into producing a new reference count pruning pass. This pass operates at the LLVM level and can prune a number of common reference counting patterns. This will improve performance for two primary reasons: - There will be less pressure on the atomic locks used to do the reference counting. - Removal of reference counting operations permits more inlining and the optimisation passes can in general do more with what is present. (Siu Kwan Lam). * Intel also sponsored work to improve the performance of the numba.typed.List container, particularly in the case of __getitem__ and iteration (Stuart Archibald). * Superword-level parallelism vectorization is now switched on and the optimisation pipeline has been lightly analysed and tuned so as to be able to vectorize more and more often (Stuart Archibald). Highlights of core feature changes include: * The inspect_cfg method on the JIT dispatcher object has been significantly enhanced and now includes highlighted output and interleaved line markers and Python source (Stuart Archibald). * The BSD operating system is now unofficially supported (Stuart Archibald). * Numerous features/functionality improvements to NumPy support, including support for: - np.asfarray (Guilherme Leobas) - “subtyping” in record arrays (Lucio Fernandez-Arjona) - np.split and np.array_split (Isaac Virshup) - operator.contains with ndarray (@mugoh). - np.asarray_chkfinite (Rishabh Varshney). - NumPy 1.19 (Stuart Archibald). - the ndarray allocators, empty, ones and zeros, accepting a dtype specified as a string literal (Stuart Archibald). * Booleans are now supported as literal types (Alexey Kozlov). * On the CUDA target: * CUDA 9.0 is now the minimum supported version (Graham Markall). * Support for Unified Memory has been added (Max Katz). * Kernel launch overhead is reduced (Graham Markall). * Cudasim support for mapped array, memcopies and memset has been * added (Mike Williams). * Access has been wired in to all libdevice functions (Graham Markall). * Additional CUDA atomic operations have been added (Michae Collison). * Additional math library functions (frexp, ldexp, isfinite) (Zhihao * Yuan). * Support for power on complex numbers (Graham Markall). Deprecations to note: * There are no new deprecations. However, note that “compatibility” mode, which was added some 40 releases ago to help transition from 0.11 to 0.12+, has been removed! Also, the shim to permit the import of jitclass from Numba’s top level namespace has now been removed as per the deprecation schedule. - NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20 OBS-URL: https://build.opensuse.org/request/show/880602 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=47
2021-03-22 23:18:24 +01:00
# if we reduced the amount of tests too much:
# sed -i -e '/check_testsuite_size/ s/5000/3000/' numba/tests/test_runtests.py
%build
export CFLAGS="%{optflags} -fPIC"
%pyproject_wheel
%install
%pyproject_install
Accepting request 880602 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.53.0 * Support for Python 3.9 * Function sub-typing * Initial support for dynamic gufuncs (i.e. from @guvectorize) * Parallel Accelerator (@njit(parallel=True) now supports Fortran ordered arrays * Full release notes at https://numba.readthedocs.io/en/0.53.0/release-notes.html - Don't unpin-llvmlite.patch. It really need to be the correct version. - Refresh skip-failing-tests.patch - Add packaging-ignore-setuptools-deprecation.patch gh#numba/numba#6837 - Add numba-pr6851-llvm-timings.patch gh#numba/numba#6851 in order to fix 32-bit issues gh#numba/numba#6832 - Update to 0.52.0 https://numba.readthedocs.io/en/stable/release-notes.html This release focuses on performance improvements, but also adds some new features and contains numerous bug fixes and stability improvements. Highlights of core performance improvements include: * Intel kindly sponsored research and development into producing a new reference count pruning pass. This pass operates at the LLVM level and can prune a number of common reference counting patterns. This will improve performance for two primary reasons: - There will be less pressure on the atomic locks used to do the reference counting. - Removal of reference counting operations permits more inlining and the optimisation passes can in general do more with what is present. (Siu Kwan Lam). * Intel also sponsored work to improve the performance of the numba.typed.List container, particularly in the case of __getitem__ and iteration (Stuart Archibald). * Superword-level parallelism vectorization is now switched on and the optimisation pipeline has been lightly analysed and tuned so as to be able to vectorize more and more often (Stuart Archibald). Highlights of core feature changes include: * The inspect_cfg method on the JIT dispatcher object has been significantly enhanced and now includes highlighted output and interleaved line markers and Python source (Stuart Archibald). * The BSD operating system is now unofficially supported (Stuart Archibald). * Numerous features/functionality improvements to NumPy support, including support for: - np.asfarray (Guilherme Leobas) - “subtyping” in record arrays (Lucio Fernandez-Arjona) - np.split and np.array_split (Isaac Virshup) - operator.contains with ndarray (@mugoh). - np.asarray_chkfinite (Rishabh Varshney). - NumPy 1.19 (Stuart Archibald). - the ndarray allocators, empty, ones and zeros, accepting a dtype specified as a string literal (Stuart Archibald). * Booleans are now supported as literal types (Alexey Kozlov). * On the CUDA target: * CUDA 9.0 is now the minimum supported version (Graham Markall). * Support for Unified Memory has been added (Max Katz). * Kernel launch overhead is reduced (Graham Markall). * Cudasim support for mapped array, memcopies and memset has been * added (Mike Williams). * Access has been wired in to all libdevice functions (Graham Markall). * Additional CUDA atomic operations have been added (Michae Collison). * Additional math library functions (frexp, ldexp, isfinite) (Zhihao * Yuan). * Support for power on complex numbers (Graham Markall). Deprecations to note: * There are no new deprecations. However, note that “compatibility” mode, which was added some 40 releases ago to help transition from 0.11 to 0.12+, has been removed! Also, the shim to permit the import of jitclass from Numba’s top level namespace has now been removed as per the deprecation schedule. - NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20 OBS-URL: https://build.opensuse.org/request/show/880602 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=47
2021-03-22 23:18:24 +01:00
%{python_expand #
%fdupes %{buildroot}%{$python_sitearch}
find %{buildroot}%{$python_sitearch} -name '*.[ch]' > devel-files0-%{$python_bin_suffix}.files
sed 's|^%{buildroot}||' devel-files0-%{$python_bin_suffix}.files > devel-files-%{$python_bin_suffix}.files
sed 's|^%{buildroot}|%%exclude |' devel-files0-%{$python_bin_suffix}.files > devel-files-exclude-%{$python_bin_suffix}.files
}
%python_clone -a %{buildroot}%{_bindir}/numba
%python_clone -a %{buildroot}%{_bindir}/pycc
%check
%if %{with test}
# test the installed package, not the source without compiled modules
mkdir emptytestdir
pushd emptytestdir
%{python_expand # numbatests: check specific tests with `osc build -M test --define="numbatests <testnames>"`
# %%{_bindir}/numba-%%{$python_bin_suffix} -s
export PYTHONPATH=%{buildroot}%{$python_sitearch}
$python ../runtests.py -v -b --exclude-tags=long_running -m %%{_smp_build_ncpus} -- %%{?!numbatests:numba.tests}%%{?numbatests}
# $python -m numba.runtests -v -b --exclude-tags='long_running' -m %%{_smp_build_ncpus} -- %%{?!numbatests:numba.tests}%%{?numbatests}
}
popd
%endif
%clean
%if !%{with test}
%post
%python_install_alternative numba pycc
%postun
%python_uninstall_alternative numba
Accepting request 880602 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.53.0 * Support for Python 3.9 * Function sub-typing * Initial support for dynamic gufuncs (i.e. from @guvectorize) * Parallel Accelerator (@njit(parallel=True) now supports Fortran ordered arrays * Full release notes at https://numba.readthedocs.io/en/0.53.0/release-notes.html - Don't unpin-llvmlite.patch. It really need to be the correct version. - Refresh skip-failing-tests.patch - Add packaging-ignore-setuptools-deprecation.patch gh#numba/numba#6837 - Add numba-pr6851-llvm-timings.patch gh#numba/numba#6851 in order to fix 32-bit issues gh#numba/numba#6832 - Update to 0.52.0 https://numba.readthedocs.io/en/stable/release-notes.html This release focuses on performance improvements, but also adds some new features and contains numerous bug fixes and stability improvements. Highlights of core performance improvements include: * Intel kindly sponsored research and development into producing a new reference count pruning pass. This pass operates at the LLVM level and can prune a number of common reference counting patterns. This will improve performance for two primary reasons: - There will be less pressure on the atomic locks used to do the reference counting. - Removal of reference counting operations permits more inlining and the optimisation passes can in general do more with what is present. (Siu Kwan Lam). * Intel also sponsored work to improve the performance of the numba.typed.List container, particularly in the case of __getitem__ and iteration (Stuart Archibald). * Superword-level parallelism vectorization is now switched on and the optimisation pipeline has been lightly analysed and tuned so as to be able to vectorize more and more often (Stuart Archibald). Highlights of core feature changes include: * The inspect_cfg method on the JIT dispatcher object has been significantly enhanced and now includes highlighted output and interleaved line markers and Python source (Stuart Archibald). * The BSD operating system is now unofficially supported (Stuart Archibald). * Numerous features/functionality improvements to NumPy support, including support for: - np.asfarray (Guilherme Leobas) - “subtyping” in record arrays (Lucio Fernandez-Arjona) - np.split and np.array_split (Isaac Virshup) - operator.contains with ndarray (@mugoh). - np.asarray_chkfinite (Rishabh Varshney). - NumPy 1.19 (Stuart Archibald). - the ndarray allocators, empty, ones and zeros, accepting a dtype specified as a string literal (Stuart Archibald). * Booleans are now supported as literal types (Alexey Kozlov). * On the CUDA target: * CUDA 9.0 is now the minimum supported version (Graham Markall). * Support for Unified Memory has been added (Max Katz). * Kernel launch overhead is reduced (Graham Markall). * Cudasim support for mapped array, memcopies and memset has been * added (Mike Williams). * Access has been wired in to all libdevice functions (Graham Markall). * Additional CUDA atomic operations have been added (Michae Collison). * Additional math library functions (frexp, ldexp, isfinite) (Zhihao * Yuan). * Support for power on complex numbers (Graham Markall). Deprecations to note: * There are no new deprecations. However, note that “compatibility” mode, which was added some 40 releases ago to help transition from 0.11 to 0.12+, has been removed! Also, the shim to permit the import of jitclass from Numba’s top level namespace has now been removed as per the deprecation schedule. - NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20 OBS-URL: https://build.opensuse.org/request/show/880602 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=47
2021-03-22 23:18:24 +01:00
%files %{python_files} -f devel-files-exclude-%{python_bin_suffix}.files
%license LICENSE
Accepting request 798175 from home:mcalabkova:branches:devel:languages:python:numeric - Update to 0.49.0 * Removal of all Python 2 related code and also updating the minimum supported Python version to 3.6, the minimum supported NumPy version to 1.15 and the minimum supported SciPy version to 1.0. (Stuart Archibald). * Refactoring of the Numba code base. The code is now organised into submodules by functionality. This cleans up Numba's top level namespace. (Stuart Archibald). * Introduction of an ``ir.Del`` free static single assignment form for Numba's intermediate representation (Siu Kwan Lam and Stuart Archibald). * An OpenMP-like thread masking API has been added for use with code using the parallel CPU backends (Aaron Meurer and Stuart Archibald). * For the CUDA target, all kernel launches now require a configuration, this preventing accidental launches of kernels with the old default of a single thread in a single block. The hard-coded autotuner is also now removed, such tuning is deferred to CUDA API calls that provide the same functionality (Graham Markall). * The CUDA target also gained an External Memory Management plugin interface to allow Numba to use another CUDA-aware library for all memory allocations and deallocations (Graham Markall). * The Numba Typed List container gained support for construction from iterables (Valentin Haenel). * Experimental support was added for first-class function types (Pearu Peterson). - Refreshed patch skip-failing-tests.patch * the troublesome tests are skipped upstream on 32-bit - Unpin llvmlite OBS-URL: https://build.opensuse.org/request/show/798175 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=41
2020-04-27 21:40:16 +02:00
%doc CHANGE_LOG README.rst
%python_alternative %{_bindir}/numba
%python_alternative %{_bindir}/pycc
%{python_sitearch}/numba/
%{python_sitearch}/numba-%{version}*-info
Accepting request 880602 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.53.0 * Support for Python 3.9 * Function sub-typing * Initial support for dynamic gufuncs (i.e. from @guvectorize) * Parallel Accelerator (@njit(parallel=True) now supports Fortran ordered arrays * Full release notes at https://numba.readthedocs.io/en/0.53.0/release-notes.html - Don't unpin-llvmlite.patch. It really need to be the correct version. - Refresh skip-failing-tests.patch - Add packaging-ignore-setuptools-deprecation.patch gh#numba/numba#6837 - Add numba-pr6851-llvm-timings.patch gh#numba/numba#6851 in order to fix 32-bit issues gh#numba/numba#6832 - Update to 0.52.0 https://numba.readthedocs.io/en/stable/release-notes.html This release focuses on performance improvements, but also adds some new features and contains numerous bug fixes and stability improvements. Highlights of core performance improvements include: * Intel kindly sponsored research and development into producing a new reference count pruning pass. This pass operates at the LLVM level and can prune a number of common reference counting patterns. This will improve performance for two primary reasons: - There will be less pressure on the atomic locks used to do the reference counting. - Removal of reference counting operations permits more inlining and the optimisation passes can in general do more with what is present. (Siu Kwan Lam). * Intel also sponsored work to improve the performance of the numba.typed.List container, particularly in the case of __getitem__ and iteration (Stuart Archibald). * Superword-level parallelism vectorization is now switched on and the optimisation pipeline has been lightly analysed and tuned so as to be able to vectorize more and more often (Stuart Archibald). Highlights of core feature changes include: * The inspect_cfg method on the JIT dispatcher object has been significantly enhanced and now includes highlighted output and interleaved line markers and Python source (Stuart Archibald). * The BSD operating system is now unofficially supported (Stuart Archibald). * Numerous features/functionality improvements to NumPy support, including support for: - np.asfarray (Guilherme Leobas) - “subtyping” in record arrays (Lucio Fernandez-Arjona) - np.split and np.array_split (Isaac Virshup) - operator.contains with ndarray (@mugoh). - np.asarray_chkfinite (Rishabh Varshney). - NumPy 1.19 (Stuart Archibald). - the ndarray allocators, empty, ones and zeros, accepting a dtype specified as a string literal (Stuart Archibald). * Booleans are now supported as literal types (Alexey Kozlov). * On the CUDA target: * CUDA 9.0 is now the minimum supported version (Graham Markall). * Support for Unified Memory has been added (Max Katz). * Kernel launch overhead is reduced (Graham Markall). * Cudasim support for mapped array, memcopies and memset has been * added (Mike Williams). * Access has been wired in to all libdevice functions (Graham Markall). * Additional CUDA atomic operations have been added (Michae Collison). * Additional math library functions (frexp, ldexp, isfinite) (Zhihao * Yuan). * Support for power on complex numbers (Graham Markall). Deprecations to note: * There are no new deprecations. However, note that “compatibility” mode, which was added some 40 releases ago to help transition from 0.11 to 0.12+, has been removed! Also, the shim to permit the import of jitclass from Numba’s top level namespace has now been removed as per the deprecation schedule. - NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20 OBS-URL: https://build.opensuse.org/request/show/880602 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=47
2021-03-22 23:18:24 +01:00
%files %{python_files devel} -f devel-files-%{python_bin_suffix}.files
Accepting request 880602 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.53.0 * Support for Python 3.9 * Function sub-typing * Initial support for dynamic gufuncs (i.e. from @guvectorize) * Parallel Accelerator (@njit(parallel=True) now supports Fortran ordered arrays * Full release notes at https://numba.readthedocs.io/en/0.53.0/release-notes.html - Don't unpin-llvmlite.patch. It really need to be the correct version. - Refresh skip-failing-tests.patch - Add packaging-ignore-setuptools-deprecation.patch gh#numba/numba#6837 - Add numba-pr6851-llvm-timings.patch gh#numba/numba#6851 in order to fix 32-bit issues gh#numba/numba#6832 - Update to 0.52.0 https://numba.readthedocs.io/en/stable/release-notes.html This release focuses on performance improvements, but also adds some new features and contains numerous bug fixes and stability improvements. Highlights of core performance improvements include: * Intel kindly sponsored research and development into producing a new reference count pruning pass. This pass operates at the LLVM level and can prune a number of common reference counting patterns. This will improve performance for two primary reasons: - There will be less pressure on the atomic locks used to do the reference counting. - Removal of reference counting operations permits more inlining and the optimisation passes can in general do more with what is present. (Siu Kwan Lam). * Intel also sponsored work to improve the performance of the numba.typed.List container, particularly in the case of __getitem__ and iteration (Stuart Archibald). * Superword-level parallelism vectorization is now switched on and the optimisation pipeline has been lightly analysed and tuned so as to be able to vectorize more and more often (Stuart Archibald). Highlights of core feature changes include: * The inspect_cfg method on the JIT dispatcher object has been significantly enhanced and now includes highlighted output and interleaved line markers and Python source (Stuart Archibald). * The BSD operating system is now unofficially supported (Stuart Archibald). * Numerous features/functionality improvements to NumPy support, including support for: - np.asfarray (Guilherme Leobas) - “subtyping” in record arrays (Lucio Fernandez-Arjona) - np.split and np.array_split (Isaac Virshup) - operator.contains with ndarray (@mugoh). - np.asarray_chkfinite (Rishabh Varshney). - NumPy 1.19 (Stuart Archibald). - the ndarray allocators, empty, ones and zeros, accepting a dtype specified as a string literal (Stuart Archibald). * Booleans are now supported as literal types (Alexey Kozlov). * On the CUDA target: * CUDA 9.0 is now the minimum supported version (Graham Markall). * Support for Unified Memory has been added (Max Katz). * Kernel launch overhead is reduced (Graham Markall). * Cudasim support for mapped array, memcopies and memset has been * added (Mike Williams). * Access has been wired in to all libdevice functions (Graham Markall). * Additional CUDA atomic operations have been added (Michae Collison). * Additional math library functions (frexp, ldexp, isfinite) (Zhihao * Yuan). * Support for power on complex numbers (Graham Markall). Deprecations to note: * There are no new deprecations. However, note that “compatibility” mode, which was added some 40 releases ago to help transition from 0.11 to 0.12+, has been removed! Also, the shim to permit the import of jitclass from Numba’s top level namespace has now been removed as per the deprecation schedule. - NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20 OBS-URL: https://build.opensuse.org/request/show/880602 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-numba?expand=0&rev=47
2021-03-22 23:18:24 +01:00
%license LICENSE
%endif
%changelog