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
In file included from /home/heafield/intgemm/./sse2_gemm.h:6:0,
from /home/heafield/intgemm/./intgemm.h:48,
from /home/heafield/intgemm/test/multiply_test.cc:4:
/home/heafield/intgemm/./multiply.h: In function ‘static void intgemm::AVX512_16bit::Multiply(const int16_t*, const int16_t*, float*, PostprocessPipeline, intgemm::Index, intgemm::Index, intgemm::Index) [with PostprocessPipeline = std::tuple<intgemm::Unquantize, intgemm::AddBias>]’:
/home/heafield/intgemm/./multiply.h:16:50: internal compiler error: in convert_move, at expr.c:315
*reinterpret_cast<__m256*>(C + offset) = result;
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
CMakeFiles/tests.dir/build.make:62: recipe for target 'CMakeFiles/tests.dir/test/multiply_test.cc.o' failed
The text was updated successfully, but these errors were encountered:
I believe this crash happens when you have a mismatch in the target attribute in some cases, despite them being compatible. In my pull request, this happened because we were using AVX512BW functions inside functions annotated with AVX512F and we fixed it by having everything annotated as AVX512BW.
In this case, it seems the writer is annotated with AVX2, but it's being used inside AVX512BW annotated function (the multiply) and it crashes. A workaround, would be to have two separate functions with two different annotations, but function multiversioning is inherently broken especially on old GCC, so we would need #DEFINE it with two differet target attributes.
Or. use writer and writerAVX512DUMMY, and change the multiply function.
The text was updated successfully, but these errors were encountered: