10000 ENH: Implement SIMD versions of isnan,isinf, isfinite and signbit by Developer-Ecosystem-Engineering · Pull Request #22165 · numpy/numpy · GitHub
[go: up one dir, main page]

Skip to content

ENH: Implement SIMD versions of isnan,isinf, isfinite and signbit #22165

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
8000
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
3725e9f
ENH: Implement SIMD versions of isnan,isinf, isfinite and signbit
Developer-Ecosystem-Engineering Aug 23, 2022
3bc4b0b
Fix gcc failures
Developer-Ecosystem-Engineering Aug 29, 2022
1c7a4f3
Address cygwin failures
Developer-Ecosystem-Engineering Aug 30, 2022
70364df
Add vector casts to resolve additional cygwin failures
Developer-Ecosystem-Engineering Aug 30, 2022
f57879e
resolve additional platform test failures
Developer-Ecosystem-Engineering Sep 9, 2022
c070aa5
Resolve linux 32 failures
Developer-Ecosystem-Engineering Sep 16, 2022
f33274b
CI: Try hooking gdb into failing CI (likely not correct, but lets see…
seberg Sep 27, 2022
37af59f
Resolve linux32 stride failures
Developer-Ecosystem-Engineering Sep 30, 2022
30bb4b6
Revert "CI: Try hooking gdb into failing CI (likely not correct, but …
Developer-Ecosystem-Engineering Oct 4, 2022
baa003e
add tests to test_simd.py
Developer-Ecosystem-Engineering Oct 5, 2022
7e47467
re-enable vx and vxe (avoid perf regressions) for existing code by sp…
Developer-Ecosystem-Engineering Oct 6, 2022
e2fe831
add some tests with different shape arrays
Developer-Ecosystem-Engineering Oct 7, 2022
d5703e1
see if stride_tricks can give us more coverage
Developer-Ecosystem-Engineering Oct 7, 2022
6a6c635
fix lint & add test_fp_noncontiguous
Developer-Ecosystem-Engineering Oct 12, 2022
67b8a24
Trigger rerun of TravisCI
Developer-Ecosystem-Engineering Oct 12, 2022
61c8002
move split test to test_fp_noncontiguous, remove use of as_strided as…
Developer-Ecosystem-Engineering Oct 12, 2022
4e38cee
fix comment
Developer-Ecosystem-Engineering Oct 12, 2022
d6ae74d
Clean-up merge to main
Developer-Ecosystem-Engineering Dec 7, 2022
2a258c3
Update .gitignore and meson.build for loops_unary_fp_le.dispatch.c.src
Developer-Ecosystem-Engineering Dec 7, 2022
d7b19a4
Address feedback from 2022-12-14
Developer-Ecosystem-Engineering Jan 4, 2023
4c0e2af
Include simd.h before using NPY_SIMD_BIGENDIAN
Developer-Ecosystem-Engineering Jan 4, 2023
f277da4
Fix type conversions for gcc
Developer-Ecosystem-Engineering Jan 4, 2023
37b8a53
Fix crashes when using MSVC. Unnesting function calls allows more in…
Developer-Ecosystem-Engineering Jan 5, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Include simd.h before using NPY_SIMD_BIGENDIAN
  • Loading branch information
Developer-Ecosystem-Engineering committed Jan 4, 2023
commit 4c0e2af5d7a4150669570cb24bcdf0daf668c54f
39 changes: 19 additions & 20 deletions numpy/core/src/umath/loops_unary_fp_le.dispatch.c.src
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,25 @@
** neon asimd
**/

/**
* Force use SSE only on x86, even if AVX2 or AVX512F are enabled
* through the baseline, since scatter(AVX512F) and gather very costly
* to handle non-contiguous memory access comparing with SSE for
* such small operations that this file covers.
*/
#define NPY_SIMD_FORCE_128
#define _UMATHMODULE
#define _MULTIARRAYMODULE
#define NPY_NO_DEPRECATED_API NPY_API_VERSION
#include <float.h>
#include "numpy/npy_math.h"
#include "simd/simd.h"
#include "loops_utils.h"
#include "loops.h"
#include "lowlevel_strided_loops.h"
// Provides the various *_LOOP macros
#include "fast_loop_macros.h"

/**
* This code should really be merged into loops_unary_fp.dispatch.c.src
* However there is an issue with enabling the code here for VX and VXE
Expand All @@ -26,26 +45,6 @@
#define NPY_SIMD_F64 0
#endif

/**
* Force use SSE only on x86, even if AVX2 or AVX512F are enabled
* through the baseline, since scatter(AVX512F) and gather very costly
* to handle non-contiguous memory access comparing with SSE for
* such small operations that this file covers.
*/
#define NPY_SIMD_FORCE_128
#define _UMATHMODULE
#define _MULTIARRAYMODULE
#define NPY_NO_DEPRECATED_API NPY_API_VERSION
#include <float.h>
#include "numpy/npy_math.h"
#include "simd/simd.h"
#include "loops_utils.h"
#include "loops.h"
#include "lowlevel_strided_loops.h"
// Provides the various *_LOOP macros
#include "fast_loop_macros.h"


/*******************************************************************************
** extra SIMD intrinsics
******************************************************************************/
Expand Down
0