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
When compiling with gcc 11.2.0, smithWatermanBackTrack isn't actually inlined, and this results in both the AVX2 and AVX-512 implementations calling the same copy of it. This is bad because each copy needs to be specialized to use either AVX2 instructions or AVX-512 instructions. Here's the relevant bits from objdump -d build/native/libgkl_smithwaterman.so:
@philipc Thanks for this note. We build on gcc version 7.3.1 we see distinct functions for AVX2 and AVX512 as expected. Perhaps this is related to the GCC 11.2.0 stack.
When compiling with gcc 11.2.0,
smithWatermanBackTrack
isn't actually inlined, and this results in both the AVX2 and AVX-512 implementations calling the same copy of it. This is bad because each copy needs to be specialized to use either AVX2 instructions or AVX-512 instructions. Here's the relevant bits fromobjdump -d build/native/libgkl_smithwaterman.so
:I think it should at least be changed to
static inline
, and possibly renamed toCONCAT(smithWatermanBackTrack_,SIMD_ENGINE)
.The text was updated successfully, but these errors were encountered: