-
Notifications
You must be signed in to change notification settings - Fork 581
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
random test failures on older CPUs without SSE/AVX/AVX2/AVX512 #316
Comments
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 10, 2022
Prevents crashes on older CPUs without wider SIMD instructions. Fixes: microsoft#316
This was referenced Jul 12, 2022
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 12, 2022
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 12, 2022
Prevents crashes on older CPUs without wider SIMD instructions. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 12, 2022
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Blocked-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 18, 2022
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 18, 2022
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 18, 2022
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Blocked-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 26, 2022
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 26, 2022
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Blocked-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Nov 13, 2022
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Nov 13, 2022
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Blocked-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Feb 5, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Blocked-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Feb 5, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Feb 6, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Mar 1, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Blocked-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Mar 1, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Mar 1, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Mar 25, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Blocked-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Mar 25, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Mar 25, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Apr 1, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Apr 1, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Blocked-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Apr 1, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Apr 1, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Apr 1, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Apr 1, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Apr 1, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
May 10, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
May 10, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
May 10, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
May 11, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
May 11, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
May 11, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
May 11, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 16, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 16, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 16, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 16, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 16, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 16, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 25, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 25, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 25, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 25, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 27, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 27, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 27, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jun 27, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 20, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 20, 2023
Prevents crashes on older CPUs without wider SIMD instructions. Workaround lack of target-specific template specialisation in GCC. Fixes: microsoft#316
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 20, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 20, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 20, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
pabs3
added a commit
to pabs3/SPTAG
that referenced
this issue
Jul 20, 2023
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
dbussink
pushed a commit
to planetscale/SPTAG
that referenced
this issue
Mar 13, 2024
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
dbussink
pushed a commit
to planetscale/SPTAG
that referenced
this issue
Mar 14, 2024
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961
dbussink
pushed a commit
to planetscale/SPTAG
that referenced
this issue
Mar 14, 2024
Obsoletes: microsoft#136 Fixes: microsoft#134 Fixes: microsoft#316 Enabled-by: simd-everywhere/simde#961 Signed-off-by: Dirkjan Bussink <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
There are strange random test failures on older CPUs that don't have SSE/AVX/AVX2/AVX512.
To Reproduce
Steps to reproduce the behavior:
SPTAGTests
Expected behavior
The tests should work.
Analysis
I think that because of the
-mavx2 -mavx -msse -msse2 -mavx512f -mavx512bw -mavx512dq
options in theDistanceUtils
target_compile_options
, the compiler is generating newer instructions in theDistanceUtils
library and these are not run on older CPUs. Removing the options not supported by the CPU and deleting the functions using instructions that those options enable fixes this issue. So the cause is definitely the options being enabled.Suggestions
On Linux you can use GCC function multi-versioning to get the compiler to automatically check the CPU at runtime and dispatch to the right functions.
Screenshots
Some examples of the random failures:
Desktop:
The text was updated successfully, but these errors were encountered: