8000 SIMD, TST: Reimplment _simd module in C++ · numpy/numpy@6dbf0c8 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6dbf0c8

Browse files
committed
SIMD, TST: Reimplment _simd module in C++
TODO
1 parent 62c971f commit 6dbf0c8

19 files changed

+1231
-2234
lines changed

numpy/core/setup.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1175,22 +1175,15 @@ def generate_umath_doc_header(ext, build_dir):
11751175

11761176
config.add_extension('_simd', sources=[
11771177
join('src', 'common', 'npy_cpu_features.c'),
1178-
join('src', '_simd', '_simd.c'),
1179-
join('src', '_simd', '_simd_inc.h.src'),
1180-
join('src', '_simd', '_simd_data.inc.src'),
1181-
join('src', '_simd', '_simd.dispatch.c.src'),
1182-
join('src', '_simd', '_simd_intrin.dispatch.cpp'),
1178+
join('src', '_simd', '_simd.cpp'),
1179+
join('src', '_simd', '_simd_module.dispatch.cpp'),
1180+
join('src', '_simd', '_simd_dtype.dispatch.cpp'),
11831181
], depends=[
11841182
join('src', 'common', 'npy_cpu_dispatch.h'),
11851183
join('src', 'common', 'simd', 'simd.h'),
11861184
join('src', 'common', 'simd', 'simd.hpp'),
1187-
join('src', '_simd', '_simd.h'),
1188-
join('src', '_simd', '_simd_inc.h.src'),
1189-
join('src', '_simd', '_simd_data.inc.src'),
1190-
join('src', '_simd', '_simd_arg.inc'),
1191-
join('src', '_simd', '_simd_convert.inc'),
1192-
join('src', '_simd', '_simd_easyintrin.inc'),
1193-
join('src', '_simd', '_simd_vector.inc'),
1185+
join('src', '_simd', '_simd.hpp'),
1186+
join('src', '_simd', '_simd_dtype.hpp'),
11941187
])
11951188

11961189
config.add_subpackage('tests')

numpy/core/src/_simd/_simd.c renamed to numpy/core/src/_simd/_simd.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "_simd.h"
1+
#include "_simd.hpp"
22

33
PyMODINIT_FUNC PyInit__simd(void)
44
{
@@ -22,6 +22,8 @@ PyMODINIT_FUNC PyInit__simd(void)
2222
Py_DECREF(targets);
2323
goto err;
2424
}
25+
26+
#include "_simd_module.dispatch.h"
2527
// add keys for non-supported optimizations with None value
2628
#define ATTACH_MODULE(TESTED_FEATURES, TARGET_NAME, MAKE_MSVC_HAPPY) \
2729
{ \
@@ -30,7 +32,7 @@ PyMODINIT_FUNC PyInit__simd(void)
3032
Py_INCREF(Py_None); \
3133
simd_mod = Py_None; \
3234
} else { \
33-
simd_mod = NPY_CAT(simd_create_module_, TARGET_NAME)(); \
35+
simd_mod = NPY_CAT(npy::_simd_new_module_, TARGET_NAME)(); \
3436
if (simd_mod == NULL) { \
3537
goto err; \
3638
} \
@@ -49,7 +51,7 @@ PyMODINIT_FUNC PyInit__simd(void)
4951

5052
#define ATTACH_BASELINE_MODULE(MAKE_MSVC_HAPPY) \
5153
{ \
52-
PyObject *simd_mod = simd_create_module(); \
54+
PyObject *simd_mod = npy::_simd_new_module(); \
5355
if (simd_mod == NULL) { \
5456
goto err; \
5557
} \

0 commit comments

Comments
 (0)
0