Vlákno názorů k článku AVX-512 na Xeonech Emerald Rapids, VA-API akcelerace pro Chromium od cc - Nějak v tom článku chybí informace o tom,...

  • Článek je starý, nové názory již nelze přidávat.
  • 7. 1. 2024 12:42

    cc

    Nějak v tom článku chybí informace o tom, že AMD má AVX-512 implementované většinou jako double-pumping (kromě complex shuffle), takže výkon AVX-512 je jen o trochu lepší než AVX2, ale pořád se ušetří spotřeba za decode těch instrukcí (a AVX-512 má víc registrů). Intel má plnohodnotné 512-bit ALUs, takže AVX-512 může opravdu nabídnou až 2x lepší výkon než AVX2.

  • 7. 1. 2024 16:54

    Ladis

    Ale u Intelu není jednoduché zařídit, aby to každý cyklus zvládlo 1 instrukci AVX-512. Naopak u AMD optimalizovali všechno okolo, takže se nikde nečeká a ten double-pump jede plnou rychlostí. Navíc Intel u většiny nových procesorů AVX-512 zrušil kvůli malým jádrům, i když ty tranzistory tam jsou (dřív šlo vypnout malá jádra a odemknout tak AVX-512, to už ale nedovoluje).

  • 8. 1. 2024 0:37

    cc

    Já pro AVX-512 optimalizuju a toto není pravda. U Intelu opravdu je cítit plnohodnotná 512-bit ALU. Pokud přepíšeš cokoliv z AVX2 do AVX-512 tak u AMD ten dvojnásobný výkon nikdy nedosáhneš, u Intelu to možné je. Rozdílů tam je ale hodně a AMD má u některých instrukcí mnohem nižší latenci než intel (třeba 64-bit multiply), takže se dá optimalizovat i pro AMD.

    Jinak toto není nic proti AMD, AVX-512 je super a je škoda, že Intel není schopný dodat tuto instrukční sadu pro desktop/laptop segment. Je to v podstatě jedna z věcí, co X86 drží nad vodou...

  • 8. 1. 2024 14:59

    linuxák

    Intel má v nižších modelech (Xeony Silver) pouze jednu FMA jednotku, která je sdílená pro AVX(2) a AVX-512 operace a dokáže zpracovat buď jednu 512-bitovou instrukci, nebo dvě 256-bitové instrukce paralelně. V této konfiguraci nepřínáší na Intelu AVX-512 prakticky žádný výkon navíc, protože plný výkon lze dosáhnout i pro AVX(2) zpracováním dvou 256-bitových instrukcí paralelně.

    Ve vyšších modelech (Xeony Gold a Platinum) je navíc ke sdílené FMA jednotce přidána ještě další FMA jednotka dedikovaná pouze pro AVX-512, takže tam je možné dosáhnout s AVX-512 2x vyšší výkon.

    Zjevně to ani na Intelu není s AVX-512 tak jednoduché... Navíc se nabízí otázka, proč není i ta další FMA jednotka sdílená i pro AVX(2). Intel asi nechtěl umět zpracovávat 4 AVX(2) instrukce paralelně, protože pak by se mohlo stát, že bude mít AVX(2) stejný výkon jako AVX-512 a lidi by se logicky ptali, k čemu to AVX-512 vlastně je...

  • 8. 1. 2024 15:14

    Ladis

    Drahý Xeony s 2x AVX-512 jsou jen pro hodně specifické použití, z dávných dob, kdy Intel bojoval s AMD ve výkonu. Jako v případě mainframe pro to programuješ specifický kód, takže tě netrápí, že AVX 1/2 to nedělá taky 2x tak rychle :-)

    Mimo tyhle Xeony je AMD rychlejší, protože má víc "velkých" jader, a ta všechna mají aspoň ten double-pump AVX-512.

  • 9. 1. 2024 21:53

    cc

    To je sice pravda, ale AVX-512 kód dokáže pěkně saturovat ty výpočetní jednotky. Instrukce mají latenci, a pokud napíše člověk kód tak, že se čeká, tak je jedno kolik CPU dokáže zpracovat. Takže třeba pokud musím násobit a nemám práci, kterou bych dělal mezi tím, tak je lepší udělat stejnou operaci třeba 4x - lepší než čekat, a toto se dělá v AVX-512 mnohem líp než v AVX2 - je dostatek registrů, které mají dostatečnou šířku, a navíc je možné víc konstant ponechat v registrech, atd...

    AVX-512 je úplně jiný level než AVX2.

  • 9. 1. 2024 22:03

    Ladis

    To je sice pravda, ale spousta běžnějších výpočtů má i nějaké instrukce mezi, čímž se částečně skryje nedostatek double-pump. Pro mě osobně AVX-512 má velkou výhodu i v single-thread výkonu jader, kde x86 začíná být již značně omezeno dekodérem instrukcí. Díky tomu, že Intel a AMD (ale ne třeba VIA a asi i nástupce od Zhaoxinu) dekódují AVX-512 instrukce za 1 cykl, protlačí jakoby dvojnásobek práce a vyrovná se tak např. ARMu (i když jen ve vybraných výpočtech; EDIT: x86 nedostatek výkonu dekodéru obecně nahání frekvencí, na úkor spotřeby).

    9. 1. 2024, 22:05 editováno autorem komentáře