diff options
Diffstat (limited to 'doc/release/upcoming_changes/13516.performance.rst')
| -rw-r--r-- | doc/release/upcoming_changes/13516.performance.rst | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/doc/release/upcoming_changes/13516.performance.rst b/doc/release/upcoming_changes/13516.performance.rst deleted file mode 100644 index 1b32b61d7..000000000 --- a/doc/release/upcoming_changes/13516.performance.rst +++ /dev/null @@ -1,47 +0,0 @@ -Enable multi-platform SIMD compiler optimizations -------------------------------------------------- - -A series of improvements for NumPy infrastructure to pave the way to -**NEP-38**, that can be summarized as follow: - -- **New Build Arguments** : - - - ``--cpu-baseline`` to specify the minimal set of required - optimizations, default value is ``min`` which provides the minimum - CPU features that can safely run on a wide range of users - platforms. - - - ``--cpu-dispatch`` to specify the dispatched set of additional - optimizations, default value is ``max -xop -fma4`` which enables - all CPU features, except for AMD legacy features. - - - ``--disable-optimization`` to explicitly disable the whole new - improvements, It also adds a new **C** compiler #definition - called ``NPY_DISABLE_OPTIMIZATION`` which it can be used as - guard for any SIMD code. - -- **Advanced CPU dispatcher**: A flexible cross-architecture CPU dispatcher built - on the top of Python/Numpy distutils, support all common compilers with a wide range of CPU features. - - The new dispatcher requires a special file extension ``*.dispatch.c`` to mark the dispatch-able - **C** sources. These sources have the ability to be compiled multiple times so that each compilation process - represents certain CPU features and provides different #definitions and flags that affect the code paths. - -- **New auto-generated C header ``core/src/common/_cpu_dispatch.h``** - This header is generated by the distutils module 'ccompiler_opt', and contains all the #definitions - and headers of instruction sets, that had been configured through command arguments '--cpu-baseline' and '--cpu-dispatch'. - -- **New C header ``core/src/common/npy_cpu_dispatch.h``** - - This header contains all utilities that required for the whole CPU dispatching process, - it also can be considered as a bridge linking the new infrastructure work with NumPy CPU runtime detection. - -- **Add new attributes to NumPy umath module(Python level)** - - - ``__cpu_baseline__`` a list contains the minimal set of required optimizations that supported - by the compiler and platform according to the specified values to command argument '--cpu-baseline'. - - - ``__cpu_dispatch__`` a list contains the dispatched set of additional optimizations that supported by the compiler - and platform according to the specified values to command argument '--cpu-dispatch'. - -- **Print the supported CPU features during the run of PytestTester** |
