W another question on SO staraliśmy (i udało się), aby znaleźć sposób, aby zastąpić brakujący instrukcji AVX:Intel AVX: Dlaczego w przypadku zmiennoprzecinkowej zmiennoprzecinkowej nie ma wersji 256-bitowej produktu dot?
__m256d _mm256_dp_pd(__m256d m1, __m256d m2, const int mask);
ktoś wie dlaczego ta instrukcja brakuje? Częściowa odpowiedź: here.
Co to znaczy "zaginić"? Istnieją dosłownie miliony rzeczy, do których AVX nie ma instrukcji, i nie ma racjonalnego uzasadnienia poza tym, że "instrukcja nie była częścią AVX" – jalf
Moja zła, "brakująca" w tym sensie, że chciałbym, żeby AVX ją wdrożył i ponieważ wersja pojedynczej precyzji już istnieje (_mm256_dp_ps). Chciałbym zrozumieć, dlaczego zdecydowali się go nie realizować (z powodów filozoficznych lub technicznych). Ale masz rację, to może nie być najlepsze określenie. –
Instrukcje dot-produktu są powolne, bozo rozszerzenia ISA, które prawie nic nie robią, z wyjątkiem zachęcania początkujących programistów wektorowych do wyboru układów danych z głowami kości. Ogólnie rzecz biorąc, należy unikać operacji poziomych, kiedy tylko jest to możliwe, a produkty dot są jednymi z najgorszych przestępców. –