You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
UT SimdUtilTest.gatherBits(added in #7726) is not passed in Mac M1 arm64, but can pass in Mac Intel. This also impact the PrestoVectorSerde, because only PrestoVectorSerializer use this function to handle nulls(see #7883).
I dig into this issue, and I tested on my 2 Macbook with intel chip and M1. Then I found that simd::gatherBits only works for xsimd::batch<int32_t>::size is 8 in Intel avx2, but it does NOT work for xsimd::batch<int32_t>::size is 4 in ARM neon.
I think the current implementation of simd::gatherBits is not correct for arm64 M1.
In #1505, function nonNullRowsFromSparse in DecoderUtil.cpp handle the different situtation with xsimd::batch<int32_t>::size = 4 or 8.
Bug description
UT
SimdUtilTest.gatherBits
(added in #7726) is not passed in Mac M1 arm64, but can pass in Mac Intel. This also impact thePrestoVectorSerde
, because onlyPrestoVectorSerializer
use this function to handlenulls
(see #7883).I dig into this issue, and I tested on my 2 Macbook with intel chip and M1. Then I found that
simd::gatherBits
only works forxsimd::batch<int32_t>::size
is 8 in Intel avx2, but it does NOT work forxsimd::batch<int32_t>::size
is 4 in ARM neon.I think the current implementation of
simd::gatherBits
is not correct for arm64 M1.In #1505, function
nonNullRowsFromSparse
inDecoderUtil.cpp
handle the different situtation withxsimd::batch<int32_t>::size
= 4 or 8.The code snippet in
DecoderUtil.cpp
follows:According to this snippet, I think this can fix this issue too.
System information
Velox System Info v0.0.2
Commit: ca8a0413aba800be0da7a0ece3d9c2ea26d6b7bf
CMake Version: 3.27.3
System: Darwin-22.5.0
Arch: arm64
C++ Compiler: /Library/Developer/CommandLineTools/usr/bin/c++
C++ Compiler Version: 14.0.3.14030022
C Compiler: /Library/Developer/CommandLineTools/usr/bin/cc
C Compiler Version: 14.0.3.14030022
CMake Prefix Path: /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr;/opt/homebrew;/usr/local;/usr;/;/opt/homebrew/Cellar/cmake/3.27.3;/usr/local;/usr/X11R6;/usr/pkg;/opt;/sw;/opt/local
Relevant logs
No response
The text was updated successfully, but these errors were encountered: