Accepting request 950311 from devel:languages:python:numeric
OBS-URL: https://build.opensuse.org/request/show/950311 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-numba?expand=0&rev=32
This commit is contained in:
commit
596e418106
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b221ebd997662a1dcb77e4f09140e022fbfe7577ad0781fc2e0214135dba6cbd
|
||||
size 2300580
|
3
numba-0.55.1.tar.gz
Normal file
3
numba-0.55.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:03e9069a2666d1c84f93b00dbd716fb8fedde8bb2c6efafa2f04842a46442ea3
|
||||
size 2308272
|
@ -1,58 +0,0 @@
|
||||
From e6df66d52152156ba8bcda64b37f4995bda72d2f Mon Sep 17 00:00:00 2001
|
||||
From: Graham Markall <gmarkall@nvidia.com>
|
||||
Date: Fri, 14 Jan 2022 21:24:40 +0000
|
||||
Subject: [PATCH] Fix #7713: Ensure _prng_random_hash return has correct
|
||||
bitwidth
|
||||
|
||||
When the hash width is 32 bits, get_next_int32 needs to be used because
|
||||
that returns a 32-bit integer, as opposed to get_next_int, which returns
|
||||
a 64-bit integer regardless of the supplied bitwidth.
|
||||
|
||||
This commit also alters the signature of _prng_random_hash to use
|
||||
_Py_hash_t as the return type - it will be equal to types.intp, but the
|
||||
intent should be clearer.
|
||||
---
|
||||
numba/cpython/hashing.py | 21 +++++++++++++++++----
|
||||
1 file changed, 17 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/numba/cpython/hashing.py b/numba/cpython/hashing.py
|
||||
index 5a8673b04b..227fc4e1c5 100644
|
||||
--- a/numba/cpython/hashing.py
|
||||
+++ b/numba/cpython/hashing.py
|
||||
@@ -18,7 +18,8 @@
|
||||
from numba.core import errors
|
||||
from numba.core import types, utils
|
||||
from numba.core.unsafe.bytes import grab_byte, grab_uint64_t
|
||||
-from numba.cpython.randomimpl import get_state_ptr, get_next_int, const_int
|
||||
+from numba.cpython.randomimpl import (const_int, get_next_int, get_next_int32,
|
||||
+ get_state_ptr)
|
||||
|
||||
_py38_or_later = utils.PYVERSION >= (3, 8)
|
||||
_py310_or_later = utils.PYVERSION >= (3, 10)
|
||||
@@ -137,11 +138,23 @@ def _prng_random_hash(tyctx):
|
||||
|
||||
def impl(cgctx, builder, signature, args):
|
||||
state_ptr = get_state_ptr(cgctx, builder, "internal")
|
||||
- bits = const_int(types.intp.bitwidth)
|
||||
- value = get_next_int(cgctx, builder, state_ptr, bits, False)
|
||||
+ bits = const_int(_hash_width)
|
||||
+
|
||||
+ # Why not just use get_next_int() with the correct bitwidth?
|
||||
+ # get_next_int() always returns an i64, because the bitwidth it is
|
||||
+ # passed may not be a compile-time constant, so it needs to allocate
|
||||
+ # the largest unit of storage that may be required. Therefore, if the
|
||||
+ # hash width is 32, then we need to use get_next_int32() to ensure we
|
||||
+ # don't return a wider-than-expected hash, even if everything above
|
||||
+ # the low 32 bits would have been zero.
|
||||
+ if _hash_width == 32:
|
||||
+ value = get_next_int32(cgctx, builder, state_ptr)
|
||||
+ else:
|
||||
+ value = get_next_int(cgctx, builder, state_ptr, bits, False)
|
||||
+
|
||||
return value
|
||||
|
||||
- sig = types.intp()
|
||||
+ sig = _Py_hash_t()
|
||||
return sig, impl
|
||||
|
||||
|
@ -1,3 +1,19 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 29 13:23:43 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 0.55.1
|
||||
* This is a bugfix release that closes all the remaining issues
|
||||
from the accelerated release of 0.55.0 and also any release
|
||||
critical regressions discovered since then.
|
||||
* CUDA target deprecation notices:
|
||||
- Support for CUDA toolkits < 10.2 is deprecated and will be
|
||||
removed in Numba 0.56.
|
||||
- Support for devices with Compute Capability < 5.3 is
|
||||
deprecated and will be removed in Numba 0.56.
|
||||
- Drop numba-pr7748-random32bitwidth.patch
|
||||
- Explicitly declare supported platforms (avoid failing tests on
|
||||
ppc64)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 14 16:55:37 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
%bcond_with test
|
||||
%endif
|
||||
Name: python-numba%{psuffix}
|
||||
Version: 0.55.0
|
||||
Version: 0.55.1
|
||||
Release: 0
|
||||
Summary: NumPy-aware optimizing compiler for Python using LLVM
|
||||
License: BSD-2-Clause
|
||||
@ -36,8 +36,6 @@ URL: https://numba.pydata.org/
|
||||
Source: https://files.pythonhosted.org/packages/source/n/numba/numba-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM fix-max-name-size.patch -- fix for gh#numba/numba#3876 -- from gh#numba/numba#4373
|
||||
Patch0: fix-max-name-size.patch
|
||||
# PATCH-FIX-UPSTREAM numba-pr7748-random32bitwidth.patch -- gh#numba/numba#7748
|
||||
Patch1: numba-pr7748-random32bitwidth.patch
|
||||
# PATCH-FIX-OPENSUSE skip tests failing due to OBS specifics
|
||||
Patch3: skip-failing-tests.patch
|
||||
BuildRequires: %{python_module devel >= 3.7}
|
||||
@ -70,6 +68,9 @@ 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
|
||||
|
Loading…
Reference in New Issue
Block a user