Skip to content
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

separate scalar mode tests from full vector tests #784

Closed
drew-parsons opened this issue Jun 30, 2022 · 1 comment · Fixed by #785
Closed

separate scalar mode tests from full vector tests #784

drew-parsons opened this issue Jun 30, 2022 · 1 comment · Fixed by #785

Comments

@drew-parsons
Copy link

As discussed at #756 and at serge-sans-paille/pythran#1999 , xsimd is designed to work in scalar mode on all architectures, even those without SIMD vector acceleration. pythran requires xsimd even on "unsupported" arches in order to access scalar mode.

Currently xsimd tests address full functionality and therefore fail on "unsupported" (SIMD-free) architectures.

The tests are defined in XSIMD_TESTS in test/CMakeLists.txt. It would be useful if that list of tests could be split into scalar-mode and vector-mode tests (e.g. create two lists, XSIMD_SCALAR_TESTS and XSIMD_VECTOR_TESTS), with some kind of new cmake option to switch off XSIMD_VECTOR_TESTS when running on SIMD-free architectures.

@serge-sans-paille
Copy link
Contributor

I've run for i in *.cpp; do grep XSIMD_NO_SUPPORTED_ARCHITECTURE -q $i || echo $i ; done in test directory and no sensible file appear, which means that we currently disable all (vector) test on unsupported architecture.

I'll add a test that checks that covers all xsimd official functions and mke sure we provide the scalar version.

serge-sans-paille added a commit that referenced this issue Jul 13, 2022
Notable changes:
- parity between xsimd::* vector and scalar versions
- fix bug in bitwise_andnot implementation on Intel
- fix cast warning during load_aligned and store_aligned on ARM architecture
- fix ambiguous overload between some scalar and batch version
- harmonize xsimd::sincos api between scalar and vector version
- fix bad xsimd::neq overload for complex batches
- remove polynomial evaluation from the public API

Minor changes:
- fix typos / indent etc
- removed legacy 'fallback_' prefix from test description

Fix #784
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants