I verkligheten är stödet för AVX-512 nog betydligt mer använt än de flesta skulle gissa, så vad är orsaken?
Mest vetenskapliga applikationer som använder AVX-512 i dagsläget, enligt andras redogörelser jag sett/wikipedia. Även bland proffsapplikationer så verkar det rätt skralt; inte ens Blender eller Photoshop stödjer det tydligen än vill jag minnas, och ännu skralare är det ju bland spel.
Tycker det känns som Intels supernishade strategi leder till rätt många skott i foten för dem måste jag säga.
Om man tar bort kommentaren för "print" anropet skulle den variera beroende på om man kör SSE, AVX, AVX-512 eller NEON (Arms variant av SIMD). Faktum är att den kan variera även om man kör säg AVX, då en kompilator översätter detta till assembler öppnar sig en rad nya praktiska möjligheter till optimering. Logiken i koden behöver dock inte ändras alls, den kommer automatiskt att utnyttja de instruktioner man säger till kompilatorn är OK att använda!!
Ja det är ju schysst, men när AVX-512 är som du säger ett lapptäcke, exakt vilka instruktioner ska vi flagga som OK att använda? Om man inte har en JiT-kompilator som kan harva ut kod just för ens egen Intel-propp (där de gnidna cheferna förmodligen rullat tärning för att bestämma vilka instruktioner som ska ingå bara för att jävlas lite extra), så blir det ju ofta ett glapp mellan vad proppen kan erbjuda och vad mjukvaran kan utnyttja, för att den faktiskt ska kunna gå att köra på Intels B-lag till processorer där AVX-implementationen artificiellt strypts så man kan kräva både skjorta och underbyxor i pris på de dyraste processorerna...
Eller så får man förkompilera kod i femtielva variationer för de programslingor som använder AVX-512 och sedan dynamiskt kalla just den kod som ens egen propp har stöd för... Om man felciterar en viss (numera säkert mindre ihågkommen) Sundbybergare, så "många slingor bli're". Hur många slingor blir det då? Får räkna på det, tack och hej typ!
Så antingen går resurser outnyttjade, eller så blir det väldigt komplext och krångligt. Bara för att Intel ska krångla till allt med flit så jäkla mycket. Som jag sett det beskrivas så har ju AVX-512 till och med flaggor för individuella instruktioner, det är ju verkligen att göra extra besvär för alla involverade.