Sync from SUSE:SLFO:Main python-numba revision f798441103caf815a9096077252b93ed

This commit is contained in:
Adrian Schröter 2024-06-06 18:27:10 +02:00
parent 99fc27f089
commit ade0ddd981
6 changed files with 138 additions and 77 deletions

View File

@ -1,5 +1,5 @@
<multibuild>
<package>test-py39</package>
<package>test-py310</package>
<package>test-py311</package>
<package>test-py312</package>
</multibuild>

BIN
numba-0.58.1.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
numba-0.59.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,46 @@
-------------------------------------------------------------------
Tue May 28 09:30:26 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Skip broken test on ppc64le
bsc#1225394, gh#numba/numba#8489
-------------------------------------------------------------------
Fri Mar 22 20:05:25 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.59.1:
* Fixed caching of kernels that use target-specific overloads
* Fixed a performance regression introduced in Numba 0.59 which
made ``np.searchsorted`` considerably slower.
* This patch fixes two issues with ``np.searchsorted``. First,
a regression is fixed in the support of ``np.datetime64``.
Second, adopt ``NAT``-aware comparisons to fix mishandling
of ``NAT`` value.
* Allow use of Python 3.12 PEP-695 type parameter syntax
-------------------------------------------------------------------
Fri Mar 8 15:37:58 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Stop testing python39: dropped since ipython 8.19
-------------------------------------------------------------------
Wed Feb 21 15:35:47 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Simplify test flavor logic
- Prepare for python39 flavor drop: Exclude build in empty test
flavors
- Don't test on 32bit-platforms
-------------------------------------------------------------------
Sat Feb 3 07:04:27 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.59.0
* Python 3.12 support
* minimum supported version to 3.9
* Add support for ufunc attributes and reduce
* Add a config variable to enable / disable the llvmlite memory
manager
* see https://numba.readthedocs.io/en/stable/release/0.59.0-notes.html#highlights
-------------------------------------------------------------------
Mon Nov 20 12:15:07 UTC 2023 - Markéta Machová <mmachova@suse.com>
@ -29,7 +72,7 @@ Mon Aug 21 19:53:19 UTC 2023 - Ben Greiner <code@bnavigator.de>
Mon Aug 14 06:47:15 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 0.57.1:
* fix regressions with 0.57.0
* fix regressions with 0.57.0
- remove upper bound on numpy - upstream does not have it either
-------------------------------------------------------------------
@ -49,7 +92,7 @@ Fri May 26 13:28:26 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
+ Numbas unicode functionality in str.startswith now supports kwargs
start and end.
+ min and max now support boolean types.
+ Support is added for the dict(iterable) constructor.
+ Support is added for the dict(iterable) constructor.
- Dropped patches:
* numba-pr8620-np1.24.patch
* update-tbb-backend-calls-2021.6.patch
@ -58,7 +101,7 @@ Fri May 26 13:28:26 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
-------------------------------------------------------------------
Wed Apr 12 05:53:24 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
- Clean up leftover Python 3.8 gubbins, look forward to Python 3.11 support.
- Clean up leftover Python 3.8 gubbins, look forward to Python 3.11 support.
-------------------------------------------------------------------
Tue Apr 11 08:30:00 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
@ -297,12 +340,12 @@ Thu Nov 18 18:42:21 UTC 2021 - Ben Greiner <code@bnavigator.de>
* Per function compiler flags with inheritance behaviours.
* The extension API now has support for overloading class methods
via the @overload_classmethod decorator.
Deprecations:
* The ROCm target (for AMD ROC GPUs) has been moved to an
“unmaintained” status and a seperate repository stub has been
created for it at: https://github.com/numba/numba-rocm
CUDA target deprecations and breaking changes:
* Relaxed strides checking is now the default when computing the
contiguity of device arrays.
@ -311,7 +354,7 @@ Thu Nov 18 18:42:21 UTC 2021 - Ben Greiner <code@bnavigator.de>
compile_ptx() instead.
* Eager compilation of device functions (the case when
device=True and a signature is provided) is deprecated.
Version support/dependency changes:
* LLVM 11 is now supported on all platforms via llvmlite.
* The minimum supported Python version is raised to 3.7.
@ -356,35 +399,35 @@ Wed Feb 17 09:49:48 UTC 2021 - Ben Greiner <code@bnavigator.de>
- 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
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
* 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
- 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
- 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
* 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
* 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
* 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
* The BSD operating system is now unofficially supported (Stuart
Archibald).
* Numerous features/functionality improvements to NumPy support,
* Numerous features/functionality improvements to NumPy support,
including support for:
- np.asfarray (Guilherme Leobas)
- “subtyping” in record arrays (Lucio Fernandez-Arjona)
@ -392,28 +435,28 @@ Wed Feb 17 09:49:48 UTC 2021 - Ben Greiner <code@bnavigator.de>
- operator.contains with ndarray (@mugoh).
- np.asarray_chkfinite (Rishabh Varshney).
- NumPy 1.19 (Stuart Archibald).
- the ndarray allocators, empty, ones and zeros, accepting a
- 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
* 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
* Additional CUDA atomic operations have been added (Michae
Collison).
* Additional math library functions (frexp, ldexp, isfinite)
* 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 Numbas top
level namespace has now been removed as per the deprecation
* 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 Numbas 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
@ -494,7 +537,7 @@ Fri Apr 24 14:07:35 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
(Valentin Haenel).
* Experimental support was added for first-class function types
(Pearu Peterson).
- Refreshed patch skip-failing-tests.patch
- Refreshed patch skip-failing-tests.patch
* the troublesome tests are skipped upstream on 32-bit
- Unpin llvmlite
@ -765,7 +808,7 @@ Fri Oct 26 19:45:47 UTC 2018 - Todd R <toddrme2178@gmail.com>
* Experimental support for executing a block of code inside a nopython mode
function in object mode.
* Parallel loops now allow arrays as reduction variables
* CUDA improvements: FMA, faster float64 atomics on supporting hardware,
* CUDA improvements: FMA, faster float64 atomics on supporting hardware,
records in const memory, and improved datatime dtype support
* More NumPy functions: vander, tri, triu, tril, fill_diagonal
+ General Enhancements:

View File

@ -1,7 +1,7 @@
#
# spec file
# spec file for package python-numba
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -21,32 +21,41 @@
%define min_numpy_ver 1.22
%define max_numpy_ver 1.27
%{?sle15_python_module_pythons}
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == ""
%define psuffix %{nil}
%bcond_with test
%endif
%if "%{flavor}" == "test-py39"
%define psuffix -test-py39
%define skip_python310 1
%define skip_python311 1
# Supported Platforms: https://numba.pydata.org/numba-doc/dev/user/installing.html#compatibility
ExclusiveArch: x86_64 %ix86 ppc64le %arm aarch64
%else
%bcond_without test
%endif
%if "%{flavor}" == "test-py310"
%define psuffix -test-py310
%define psuffix -%{flavor}
%if "%{flavor}" != "test-py39"
%define skip_python39 1
%define skip_python311 1
%bcond_without test
%endif
%if "%{flavor}" == "test-py311"
%define psuffix -test-py311
%define skip_python39 1
%if "%{flavor}" != "test-py310"
%define skip_python310 1
%bcond_without test
%endif
%if "%{flavor}" != "test-py311"
%define skip_python311 1
%endif
%if "%{flavor}" != "test-py312"
%define skip_python312 1
%endif
# The obs server-side interpreter cannot use lua or rpm shrink
%if "%pythons" == "" || "%pythons" == " " || "%pythons" == " " || "%pythons" == " " || "%pythons" == " " || ( "%pythons" == "python311" && 0%{?skip_python311} )
ExclusiveArch: donotbuild
%define python_module() %flavor-not-enabled-in-buildset-for-suse-%{?suse_version}
%else
# Tests fail on ppc64 big endian, not resolvable on s390x, wrong types on 32-bit. See also above compatibility list for building
ExcludeArch: s390x ppc64 %ix86 %arm
%endif
%endif
Name: python-numba%{?psuffix}
Version: 0.58.1
Version: 0.59.1
Release: 0
Summary: NumPy-aware optimizing compiler for Python using LLVM
License: BSD-2-Clause
@ -55,7 +64,7 @@ URL: https://numba.pydata.org/
Source: https://files.pythonhosted.org/packages/source/n/numba/numba-%{version}.tar.gz
# PATCH-FIX-OPENSUSE skip tests failing due to OBS specifics
Patch3: skip-failing-tests.patch
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module devel >= 3.9}
BuildRequires: %{python_module numpy-devel >= %{min_numpy_ver} with %python-numpy-devel < %{max_numpy_ver}}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
@ -64,10 +73,10 @@ BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: python-rpm-macros
BuildRequires: (tbb-devel >= 2021)
Requires: (python-llvmlite >= 0.41 with python-llvmlite < 0.42)
Requires: (python-llvmlite >= 0.42 with python-llvmlite < 0.43)
Requires: (python-numpy >= %{min_numpy_ver} with python-numpy < %{max_numpy_ver})
Requires(post): update-alternatives
Requires(postun):update-alternatives
Requires(postun): update-alternatives
Recommends: python-Jinja2
Recommends: python-Pygments
Recommends: python-cffi
@ -87,9 +96,6 @@ BuildRequires: %{python_module pytest}
BuildRequires: %{python_module scipy >= 1.0}
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

View File

@ -3,11 +3,11 @@
numba/tests/test_parfors_passes.py | 1 +
2 files changed, 4 insertions(+), 2 deletions(-)
Index: numba-0.57.0/numba/tests/test_parfors.py
Index: numba-0.59.1/numba/tests/test_parfors.py
===================================================================
--- numba-0.57.0.orig/numba/tests/test_parfors.py
+++ numba-0.57.0/numba/tests/test_parfors.py
@@ -1190,6 +1190,7 @@ class TestParforNumPy(TestParforsBase):
--- numba-0.59.1.orig/numba/tests/test_parfors.py
+++ numba-0.59.1/numba/tests/test_parfors.py
@@ -1199,6 +1199,7 @@ class TestParforNumPy(TestParforsBase):
self.check_variants(test_impl2, data_gen)
self.count_parfors_variants(test_impl2, data_gen)
@ -15,29 +15,29 @@ Index: numba-0.57.0/numba/tests/test_parfors.py
def test_ndarray_fill(self):
def test_impl(x):
x.fill(7.0)
@@ -4479,7 +4480,7 @@ class TestParforsVectorizer(TestPrangeBa
@@ -4659,7 +4660,7 @@ class TestParforsVectorizer(TestPrangeBa
return asm
- @linux_only
+ @unittest.skip("Our x86_64 asm is most probably different from the upstream one.")
@TestCase.run_test_in_subprocess
def test_vectorizer_fastmath_asm(self):
""" This checks that if fastmath is set and the underlying hardware
is suitable, and the function supplied is amenable to fastmath based
@@ -4519,7 +4520,7 @@ class TestParforsVectorizer(TestPrangeBa
@@ -4700,7 +4701,7 @@ class TestParforsVectorizer(TestPrangeBa
# check no zmm addressing is present
self.assertTrue('zmm' not in v)
- @linux_only
+ @unittest.skip("Our x86_64 asm is most probably different from the upstream one.")
@TestCase.run_test_in_subprocess(envvars={'NUMBA_BOUNDSCHECK': '0'})
def test_unsigned_refusal_to_vectorize(self):
""" This checks that if fastmath is set and the underlying hardware
is suitable, and the function supplied is amenable to fastmath based
Index: numba-0.57.0/numba/tests/test_parfors_passes.py
Index: numba-0.59.1/numba/tests/test_parfors_passes.py
===================================================================
--- numba-0.57.0.orig/numba/tests/test_parfors_passes.py
+++ numba-0.57.0/numba/tests/test_parfors_passes.py
@@ -516,6 +516,7 @@ class TestConvertLoopPass(BaseTest):
--- numba-0.59.1.orig/numba/tests/test_parfors_passes.py
+++ numba-0.59.1/numba/tests/test_parfors_passes.py
@@ -514,6 +514,7 @@ class TestConvertLoopPass(BaseTest):
str(raises.exception),
)
@ -45,10 +45,10 @@ Index: numba-0.57.0/numba/tests/test_parfors_passes.py
def test_init_prange(self):
def test_impl():
n = 20
Index: numba-0.57.0/numba/tests/test_cli.py
Index: numba-0.59.1/numba/tests/test_cli.py
===================================================================
--- numba-0.57.0.orig/numba/tests/test_cli.py
+++ numba-0.57.0/numba/tests/test_cli.py
--- numba-0.59.1.orig/numba/tests/test_cli.py
+++ numba-0.59.1/numba/tests/test_cli.py
@@ -264,6 +264,7 @@ class TestGDBCLIInfoBrokenGdbs(TestCase)
self.assertIn("No such file or directory", stdout)
self.assertIn(path, stdout)
@ -57,3 +57,15 @@ Index: numba-0.57.0/numba/tests/test_cli.py
def test_nonsense_gdb_binary(self):
# Tests that a nonsense binary specified as gdb it picked up ok
env = os.environ.copy()
Index: numba-0.59.1/numba/tests/test_mathlib.py
===================================================================
--- numba-0.59.1.orig/numba/tests/test_mathlib.py
+++ numba-0.59.1/numba/tests/test_mathlib.py
@@ -508,6 +508,7 @@ class TestMathLib(TestCase):
float('-inf'), float('inf'), float('nan')]
self.run_unary(pyfunc, x_types, x_values, prec='exact')
+ @unittest.skip("Fails on ppc64le https://github.com/numba/numba/issues/8489")
def test_ldexp(self):
pyfunc = ldexp
cfunc = njit(pyfunc)