Ano, dočetl. Cokoli programovatelného ale zabírá dost transistorů, žere hodně proudu a nemá takový výkon jako specializovaná jednotka. Dávat do univerzálního CPU takovéto další napůl-univerzální procesory mi nepřijde jako moc dobré řešení. To už vidím jako lepší využít SSE (pokud to lze).
Naopak. Pro grafiku to bude znamenat nižší výkon, protože grafika má velkou spotřebu. Dvě tělesa s velkým výdejem energie umístěná přímo u sebe znamenají nutnost snížit frekvenci. Bohužel to bude znamenat i nižší výkon pro CPU.
Jakákoli SIMD sada má několik problémů:
1) Je nutné na ní optimalizovat a to většinou "by hand" - moderní kompilátor sám o sobě sice dokáže detekovat místa v kódu, která se dají tímto urychlit, ale jeho efektivita není nějak závratná.
2) Je nutné dělat CPUID detekci - jednak takhle instrukce je kvůli obsazování více registrů sériová (a tudíž dost pomalá) a za druhé provedení detekce přítomnosti SSEx stojí strojový čas, který se často nemusí vrátit (ano, znám programy, kde kompilátorem vytvořené optimalizace s detekcí vyústily v pomalejší kód).
3) Výsledný soubor je při implementované detekci (... která je nutná na to, aby program běžel i na CPU, které danou sadu nemá) větší.








Odpověď s citací