Skip to content

Commit

Permalink
Merge pull request numba#9083 from kc611/win_32_removal
Browse files Browse the repository at this point in the history
Removed windows 32 references from code and documentation
  • Loading branch information
esc authored Aug 2, 2023
2 parents 8fa8ddd + a29d025 commit 91654d1
Show file tree
Hide file tree
Showing 9 changed files with 21 additions and 39 deletions.
11 changes: 5 additions & 6 deletions buildscripts/condarecipe.local/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ build:
- lib/libiomp5.dylib # [osx]
ignore_run_exports:
# tbb-devel triggers hard dependency on tbb, this is not the case.
- tbb # [not (aarch64 or ppc64le or win32)]
- tbb # [not (aarch64 or ppc64le)]

requirements:
# build and run dependencies are duplicated to avoid setuptools issues
Expand All @@ -36,9 +36,8 @@ requirements:
# On channel https://anaconda.org/numba/
- llvmlite >=0.41.0dev0,<0.41
# TBB devel version is to match TBB libs.
# NOTE: ppc64le and aarch64 are pending testing so excluded for now, win32
# is not a supported parallel target.
- tbb-devel >=2021.6 # [not (aarch64 or ppc64le or win32)]
# NOTE: ppc64le and aarch64 are pending testing so excluded for now.
- tbb-devel >=2021.6 # [not (aarch64 or ppc64le)]
run:
- python >=3.8
# NumPy 1.22.0, 1.22.1, 1.22.2 are all broken for ufuncs, see #7756
Expand All @@ -48,7 +47,7 @@ requirements:
- llvmlite >=0.41.0dev0,<0.41
run_constrained:
# If TBB is present it must be at least version 2021.6
- tbb >=2021.6 # [not (aarch64 or ppc64le or win32)]
- tbb >=2021.6 # [not (aarch64 or ppc64le)]
# avoid confusion from openblas bugs
- libopenblas !=0.3.6 # [x86_64]
# 0.3.17 buggy on M1 silicon
Expand All @@ -73,7 +72,7 @@ test:
- ipython # [not aarch64]
# for pycc
- setuptools
- tbb >=2021.6 # [not (aarch64 or ppc64le or win32)]
- tbb >=2021.6 # [not (aarch64 or ppc64le)]
- llvm-openmp # [osx]
# This is for driving gdb tests
- pexpect # [linux64]
Expand Down
5 changes: 0 additions & 5 deletions buildscripts/condarecipe.local/run_test.bat
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@ set NUMBA_DISABLE_ERROR_MESSAGE_HIGHLIGHTING=1
set NUMBA_CAPTURED_ERRORS=new_style
set PYTHONFAULTHANDLER=1

@rem no parallel target support for 32 bit windows and no TBB packages
if "%ARCH%"=="32" (
set NUMBA_DISABLE_TBB=1
)

@rem Check Numba executable is there
numba -h

Expand Down
2 changes: 1 addition & 1 deletion docs/source/reference/envvars.rst
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ Compilation options

If set to non-zero, enable LLVM loop vectorization.

*Default value:* 1 (except on 32-bit Windows)
*Default value:* 1

.. envvar:: NUMBA_SLP_VECTORIZE

Expand Down
4 changes: 1 addition & 3 deletions docs/source/reference/numpysupported.rst
Original file line number Diff line number Diff line change
Expand Up @@ -976,16 +976,14 @@ Floating functions
copysign Yes Yes
nextafter Yes Yes
modf Yes No
ldexp Yes (*) Yes
ldexp Yes Yes
frexp Yes No
floor Yes Yes
ceil Yes Yes
trunc Yes Yes
spacing Yes Yes
============== ============= ===============

(\*) not supported on windows 32 bit


Datetime functions
------------------
Expand Down
2 changes: 1 addition & 1 deletion docs/source/user/5minguide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ part of your code can subsequently run at native machine code speed!

Out of the box Numba works with the following:

* OS: Windows (32 and 64 bit), OSX, Linux (64 bit). Unofficial support on
* OS: Windows (64 bit), OSX, Linux (64 bit). Unofficial support on
\*BSD.
* Architecture: x86, x86_64, ppc64le, armv8l (aarch64), M1/Arm64.
* GPUs: Nvidia CUDA.
Expand Down
2 changes: 1 addition & 1 deletion docs/source/user/installing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Our supported platforms are:

* Linux x86_64
* Linux ppcle64 (POWER8, POWER9)
* Windows 7 and later (32-bit and 64-bit)
* Windows 10 and later (64-bit)
* OS X 10.9 and later (64-bit and unofficial support on M1/Arm64)
* \*BSD (unofficial support only)
* NVIDIA GPUs of compute capability 5.0 and later
Expand Down
5 changes: 5 additions & 0 deletions docs/upcoming_changes/9083.highlight.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Removal of Windows 32-bit Support
=================================

This release onwards, Numba has discontinued support for Windows 32-bit
operating systems.
4 changes: 1 addition & 3 deletions numba/core/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -346,9 +346,7 @@ def optional_str(x):
DUMP_OPTIMIZED = _readenv("NUMBA_DUMP_OPTIMIZED", int, DEBUG)

# Force disable loop vectorize
# Loop vectorizer is disabled on 32-bit win32 due to a bug (#649)
LOOP_VECTORIZE = _readenv("NUMBA_LOOP_VECTORIZE", int,
not (IS_WIN32 and IS_32BITS))
LOOP_VECTORIZE = _readenv("NUMBA_LOOP_VECTORIZE", int, 1)

# Enable superword-level parallelism vectorization, default is off
# since #8705 (miscompilation).
Expand Down
25 changes: 6 additions & 19 deletions numba/tests/test_function_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import types as pytypes
from numba import jit, njit, cfunc, types, int64, float64, float32, errors
from numba import literal_unroll
from numba.core.config import IS_32BITS, IS_WIN32
from numba.core.config import IS_WIN32
import ctypes
import warnings

Expand Down Expand Up @@ -584,26 +584,13 @@ def __init__(self, fname):
self._name = fname
if fname == 'cos':
# test for double-precision math function
if IS_WIN32 and IS_32BITS:
# 32-bit Windows math library does not provide
# a double-precision cos function, so
# disabling the function
addr = None
signature = None
else:
addr = ctypes.cast(self.lib.cos, ctypes.c_voidp).value
signature = float64(float64)
addr = ctypes.cast(self.lib.cos, ctypes.c_voidp).value
signature = float64(float64)
elif fname == 'sinf':
# test for single-precision math function
if IS_WIN32 and IS_32BITS:
# 32-bit Windows math library provides sin
# (instead of sinf) that is a single-precision
# sin function
addr = ctypes.cast(self.lib.sin, ctypes.c_voidp).value
else:
# Other 32/64 bit platforms define sinf as the
# single-precision sin function
addr = ctypes.cast(self.lib.sinf, ctypes.c_voidp).value
# Other 32/64 bit platforms define sinf as the
# single-precision sin function
addr = ctypes.cast(self.lib.sinf, ctypes.c_voidp).value
signature = float32(float32)
else:
raise NotImplementedError(
Expand Down

0 comments on commit 91654d1

Please sign in to comment.