diff --git a/_multibuild b/_multibuild index 8cf2769..98d9f20 100644 --- a/_multibuild +++ b/_multibuild @@ -2,4 +2,5 @@ test-py39 test-py310 test-py311 + test-py312 diff --git a/numba-0.58.1.tar.gz b/numba-0.58.1.tar.gz deleted file mode 100644 index 01b7560..0000000 --- a/numba-0.58.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:487ded0633efccd9ca3a46364b40006dbdaca0f95e99b8b83e778d1195ebcbaa -size 2623830 diff --git a/numba-0.59.0.tar.gz b/numba-0.59.0.tar.gz new file mode 100644 index 0000000..b4e3305 --- /dev/null +++ b/numba-0.59.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12b9b064a3e4ad00e2371fc5212ef0396c80f41caec9b5ec391c8b04b6eaf2a8 +size 2656773 diff --git a/python-numba.changes b/python-numba.changes index 6a7c554..78594e5 100644 --- a/python-numba.changes +++ b/python-numba.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Sat Feb 3 07:04:27 UTC 2024 - Dirk Müller + +- 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á @@ -29,7 +40,7 @@ Mon Aug 21 19:53:19 UTC 2023 - Ben Greiner Mon Aug 14 06:47:15 UTC 2023 - Dirk Müller - 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 +60,7 @@ Fri May 26 13:28:26 UTC 2023 - Steve Kowalik + Numba’s 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 +69,7 @@ Fri May 26 13:28:26 UTC 2023 - Steve Kowalik ------------------------------------------------------------------- Wed Apr 12 05:53:24 UTC 2023 - Steve Kowalik -- 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 @@ -297,12 +308,12 @@ Thu Nov 18 18:42:21 UTC 2021 - Ben Greiner * 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 +322,7 @@ Thu Nov 18 18:42:21 UTC 2021 - Ben Greiner 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 +367,35 @@ Wed Feb 17 09:49:48 UTC 2021 - Ben Greiner - 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 +403,28 @@ Wed Feb 17 09:49:48 UTC 2021 - Ben Greiner - 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 Numba’s 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 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 @@ -494,7 +505,7 @@ Fri Apr 24 14:07:35 UTC 2020 - Marketa Calabkova (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 +776,7 @@ Fri Oct 26 19:45:47 UTC 2018 - Todd R * 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: diff --git a/python-numba.spec b/python-numba.spec index 135601e..fdf2cdd 100644 --- a/python-numba.spec +++ b/python-numba.spec @@ -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 @@ -30,23 +30,33 @@ %define psuffix -test-py39 %define skip_python310 1 %define skip_python311 1 +%define skip_python312 1 %bcond_without test %endif %if "%{flavor}" == "test-py310" %define psuffix -test-py310 %define skip_python39 1 %define skip_python311 1 +%define skip_python312 1 %bcond_without test %endif %if "%{flavor}" == "test-py311" %define psuffix -test-py311 %define skip_python39 1 %define skip_python310 1 +%define skip_python312 1 +%bcond_without test +%endif +%if "%{flavor}" == "test-py312" +%define psuffix -test-py312 +%define skip_python39 1 +%define skip_python310 1 +%define skip_python311 1 %bcond_without test %endif Name: python-numba%{?psuffix} -Version: 0.58.1 +Version: 0.59.0 Release: 0 Summary: NumPy-aware optimizing compiler for Python using LLVM License: BSD-2-Clause @@ -55,7 +65,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} @@ -67,7 +77,7 @@ BuildRequires: (tbb-devel >= 2021) Requires: (python-llvmlite >= 0.41 with python-llvmlite < 0.42) 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 diff --git a/skip-failing-tests.patch b/skip-failing-tests.patch index 0732fbd..624a4e1 100644 --- a/skip-failing-tests.patch +++ b/skip-failing-tests.patch @@ -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.0/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.0.orig/numba/tests/test_parfors.py ++++ numba-0.59.0/numba/tests/test_parfors.py +@@ -1198,6 +1198,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 +@@ -4639,7 +4640,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 +@@ -4680,7 +4681,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.0/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.0.orig/numba/tests/test_parfors_passes.py ++++ numba-0.59.0/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.0/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.0.orig/numba/tests/test_cli.py ++++ numba-0.59.0/numba/tests/test_cli.py @@ -264,6 +264,7 @@ class TestGDBCLIInfoBrokenGdbs(TestCase) self.assertIn("No such file or directory", stdout) self.assertIn(path, stdout)