Diit.cz - Novinky a informace o hardware, software a internetu

Diskuse k AVX-512 Intel do PC časem vrátí, ale s Meteor Lake to nebude

no po rekapitulacii: vzhladom na to kolko generacii/rodin CPU (a za aky cas) mohlo uz na trhu etablovat AVX512, staci povedat jedine: congrats intel !!!!

dufajme ze za 15-20 rokov od toho 2012 a za 10 generacii/rodin CPU, sa podari intelu na trh V NORMALNEJ TRANSPARENTNEJ PODOBE priniest AVX512

v porovnani s tymto fiasko-trapas-mega-avx512-bordelom to uz aj AMD 3Dnow! a AMD 3Dnow!+ v casoch K6-I,K6-II,K6-III bolo ovela "normalnejsie" (to ci sa to rozsirilo do SW alebo instr. sada sa intenzivne vyuziva aj po 15 rokov je uz ina vec ... ale aspon to prinesenie na trh je proste ciste intel-zufalstvo)

je to proste "technologicky lider"

pre nevybalansovanych: mame tu clanok o inteli na plno stran (akurat v clanku neni co chvalit)

+1
0
-1
Je komentář přínosný?

Já AVX-512 mám a používám, a přitom s docela chcípáckým CPU :)

+1
0
-1
Je komentář přínosný?

Za největší výsměch považuji to, že počínaje alder lake není možné používat AVX512, přestože křemík tam kompletně zůstal a zákazník ho platí. A není ho tam úplně málo.

+1
+5
-1
Je komentář přínosný?

CEO nVidia-e to povedal

NVIDIA Says It Spends 20% Time on Hardware & 80% Time on Software As First DGX H100 Systems Roll Out
May 1, 2023
https://wccftech.com/nvidia-spends-20-percent-time-hardware-80-percent-t...

Ono totiž moderná CPU s akcelerátormi, čipletmi/dlaždicami potrebujú podobný stav podpory v softvéri, ako to potrebujú GPU. Ešte nie úplne identický, ale blížime sa k tomu.

+1
0
-1
Je komentář přínosný?

No mna sameho by ma zaujimalo kolko % zabera samotne AVX512
nikde sa mi to nepodarilo zistit.
Ale oproti GPU je to CPU fakt malickate aj ked ich tam date 16

+1
0
-1
Je komentář přínosný?

Podle obrazku FPU/SIMD zabiraji zhruba 2/3 plochy jakou maji L2 cahce
https://i.redd.it/lyhmdzo6c3w71.jpg
https://hothardware.com/news/intel-fusing-avx-512-alder-lake-silicon

+1
0
-1
Je komentář přínosný?

Ono jedna zmena na riadku 3372 v zdrojáku power save state má väčší vplyv

--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -3372,6 +3372,7 @@ static const struct x86_cpu_id intel_epp_balance_perf[] = {
* AlderLake Mobile CPUs.
*/
X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE_L, 102),
+ X86_MATCH_INTEL_FAM6_MODEL(SAPPHIRERAPIDS_X, 32),
{}
};
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commi...

While using the "powersave" governor in its default configuration on
Sapphire Rapids systems leads to much lower power, the performance is
lower by more than 25% for several workloads relative to the
"performance" governor.

A 37% difference has been reported by www.Phoronix.com
https://www.phoronix.com/review/intel-spr-one-line

+1
0
-1
Je komentář přínosný?

Problem AVX-512 ma jeste dalsi rovinu.. ze "podporujeme AVX512" neni binarni. Tech skupin AVX instrukci je vicero a kazdy hw podporuje jinou podmnozinu :)

+1
+4
-1
Je komentář přínosný?

Ja to vidím tak, že Intel uvedie 512 variant podpory AVX inštrukcií a nazve to "AVX-512 support".

+1
-1
-1
Je komentář přínosný?

https://en.wikipedia.org/wiki/AVX-512#CPUs_with_AVX-512

ako vidno z tabulky, po 2019 je to uz "relativne ukludnene", ja tam konstantna NEpodpora nejakych styroch instrukcii, zbytok je akoze podporovany (parial bordel tam robi akurat alder)

ale v pociatkoch a niektoych inych CPU z 2016-2020 tam bol neskutocnyyyyyyyy bordel

+1
+2
-1
Je komentář přínosný?

Předesílám, že o tom nic moc nevím, ale tak mě napadlo....
Mají instrukce AVX-512 v současné době vůbec nějaký smysl, když standardní součástí GPU jsou dnes tenzorová jádra, která jsou zamýšlena pro rychlou práci nejen s vektory (tedy tenzory prvního řádu), ale i s tenzory vyšších řádů (zejména matice - např. rychlé násobení matic)?
Dokáže někdo, kdo tomu skutečně rozumí, vysvětlit proč se snažit výpočty s vektory/tenzory provádět v CPU, když pro tento typ výpočtů máme k dispozici značné množství koprocesorů na bázi GPU, které mají ve srovnání s CPU mnoho dalších výhod - např. znatelně vyšší propustnost pamětí?

+1
0
-1
Je komentář přínosný?

GPU disponují obrovským množstvím jednoduchých (a relativně slabých) jednotek. Takže úlohy, které nelze velmi široce a efektivně paralelizovat a tyto jednotky nevyužijí, dosahují vyššího výkonu na CPU.

+1
+4
-1
Je komentář přínosný?

Pokud se ptáš na nějakou klasicky využitelnou aplikaci, kterou používají i zcela běžní lidé a ne jen hrstka "raketových inženýrů", tak je to Emulátor RPCS3.

Je to zdarma, je to o prostá zábava a pokud chceš mít dostupnou knihovnu kultovních her, které nikde jinde na PC neuvidíš - je pro tebe AVX512.
Emulátor to využívá poměrně masivně - přínos je viditelný.

Těch kvalitních her co lze jedině takto provozovat na PC je hodně: RedDead1, Uncharted 1,2,3, Ratchet a Clank, Gran Turismo.

Dnes už to jde obejít s pomocí silných Raptorů, které mají i s AVX2 hrubou sílu a hodně fyz jader. Ale AVX512 má reálné použití

+1
0
-1
Je komentář přínosný?

Ja tomu az tak nerozumiem, ale skor som mal pocit ze AVX-512 je rozsirenie starsich AVX2 registrov, ktorych bolo 16 po 256 bit. AVX512 ma 32 registrov/ "vektorov" po 512 bit, z ktorych kazdy moze byt chapany ako 8 double precision floatov po 8 bajtov, alebo 16 floatov po 4 bajty, alebo 8 64-bit integerov, alebo 16 32-bit integerov. A na nich je mozne robit jednou instrukciou naraz nejake operacie. Napr. 8 nasobeni, alebo nejake bitove operacie cez masky, rotacie, bit shuffling atd. https://www.intel.com/content/www/us/en/developer/articles/technical/int...
Priamo maticove nasobenie som nenasiel, ale mozno som zle hladal. https://docs.oracle.com/cd/E37838_01/html/E61064/gsesq.html

Preco ma vyznam pridavat zlozite instrukcie (mozno aj tie tenzorove) do CPU je ten, ze je "general purpose". Da sa na nom urobit cokolvek (na rozdiel od GPU) a akekolvek zrychlenie sa hodi. Na GPU je program, ktory sa nejak zlozito vetvi prakticky nemozne urobit, pretoze je to SIMD - skupina procesorov vykonava ten isty kod na roznych datach.

+1
+3
-1
Je komentář přínosný?

Latence, jednoduchost a dostupnost. Než se data dostanou do GPU, už jsou dávno zpracována v CPU a klidně ani nemusí opustit L1 cache. A programátor ani nemusí nic složitého řešit. Buď přidá pár instrukcí přes asm nebo intrinsics, nebo jen zapne autovektorizaci (ta sice stoji za houby, ale je v podstatě "zdarma"). Typicky je tedy třeba možné kombinovat skalární a vektorové úseky kódu v jednom algoritmu. Skalární část připraví data, vektorová je spočítá a další skalární část zpracuje výsledky. Samožejmě, pokud je celý algoritmus o relativně jednoduchém zpracování obrovského množství dat, pak je lepší to poslat do GPU a vyřešit všechny komplikace s tím spojené.

+1
+4
-1
Je komentář přínosný?

A jak vidíš přínos AI akcelerátorů (XDNA od Xilinxu), co AMD začíná dávát do CPU? APU Phoenix už míří na trh, příští rok přijde Strix s posíleným AI výkonem. Je to obdoba Neural enginu u Apple.

+1
0
-1
Je komentář přínosný?

Pro AI ty akcelerátory asi význam mají. Je tam hodně relativně jednoduchých výpočtů, které se dají přímo "zadrátovat" do HW.

+1
0
-1
Je komentář přínosný?

Tak ono dneska je "AI" kde co. Např. jsou kodeky pro kódování řeči, kde AI dokáže velmi výrazně při velmi nízkém bitrate zachovat dobrou kvalitu řeči atd. (experimentoval s tím taky jmvalin před pár lety).
Na normálním CPU je to velmi výpočetně náročné, pokud by byl akcelerátor, je to použitelné...

+1
0
-1
Je komentář přínosný?

Este doplnim to, co napisal xR:

Vypoctove bloky GPU vo vseobecnosti nepodporuju vetvenie. Neviem uz, ako dnes, ale svojho casu, ak si niekde nejake vetvenie mal, tak sa robilo tak, ze vetva ktora sa nevybrala, sa proste skonvertovala na instrukcie No Operation. To znamenalo, ze vetva sa sice nespracovala, ale cas v procesore zabrala. Preto potom klesal hruby vypoctovy vykon. Bolo to technicke obmedzenie, pretoze instrukcie boli do vsetkych jadier na jednom CU strkane po tej istej zbernici, takze nutne vsetky museli spracovavet ten isty kod. Akurat pracovali nad inym fragmentom velkeho bloku dat. Takze kod, ktory potrebuje vetvit, ma na GPU mizerny vykon. Kod, kde mas vypocty nad sirokymi vektormi prekladany vetvenim, bude mat tiez pomerne mizerny vykon.

Takze vyhoda GPU pri spracovavani vektorov sa ukaze vtedy, ak mas fakt velky datovy subor, nad ktorym potrebujes vykonat jednu operaciu za druhou. Ak zapocitas latenciu danu tym, ze data z pracovnej oblasti CPU musis dostat do pracovnej oblasti GPU a potom spat, mozes dojst k zaveru, ze ten subor musi mat radovo desat- az statisice prvkov, aby sa to oplatilo. Pripadne sa to moze oplatit, ak konecna stanica (alebo povodny zdroj) tych dat je graficke rozhranie. Vtedy usetris jednu cestu dat z GPU na CPU, alebo spat.

Veci ako napr. praca s vektormi v CAD softoch, kde mas vektory dlzky 4 (3-rozmerne suradnice sa kvoli jednoduchsej matematike pocitaju cez 4-rozmerne vektory) a operacie mas prekladane vetvenim, stale bezia rychlejsie na CPU so SIMD.

+1
+1
-1
Je komentář přínosný?

Sľubom nezarmútiš

+1
+1
-1
Je komentář přínosný?

... v souvislosti AVX-512 si v jeho pocatcicch vybavuji, jak Linus T. nekde psal o AVX-512, ze je programatorsky peklo - velky/spatny

+1
0
-1
Je komentář přínosný?

Jj ale to nás jako uživatele zajímat až tak nemusí. Auta taky nevybíralme podle toho, dobře nebo špatně se tam vyměňuje palivový filtr

+1
0
-1
Je komentář přínosný?

To bylo z pohledu vývojáře Linuxového jádra. Z pohledu programátora uživatelské aplikace je to naopak asi nejpřívětivější vektorové rozšíření (hodně registrů, masky, lepší instrukce, ...).

+1
0
-1
Je komentář přínosný?

V tej dobe asi aj z pohladu programatora, kvoli tomu, kolko stupnov podpory AVX existovalo. To si programator bud povedal, ze podporovat budem iba tento minimalny subset AVX a akykolvek procesor, ktory nepodporuje vsetky tieto instrukcie je z mohlo pohladu bez podpory AVX, alebo musel kod pisat tak, ze kazdy subset mal skalarny variant kodu. A to potom mohlo znamenat, ze sa to zasa cele vobec neoplatilo riesit, lebo jeden skalarny kus kodu ti spomalil cely vektorizovany kod okolo.

+1
0
-1
Je komentář přínosný?

Ten problem s tou rozstristenosti vubec neni tak velky, jak vypada (ani tehdy). V praxi tohle nemusi "bezny" programator skoro vubec resit, protoze se proste pouziji subsety F, CD, BW, DQ a VL, kde je naprosta vetsina instrukci a pojede to na vsech CPU s AVX512. Pro novejsi CPU (od ICL) je pak mozne v pripade potreby udelat druhou codepath s IFMA, VBMI, VPOPCNTDQ, VNNI, VBMI2 a BITALG. Ostatni subsety jsou jen pro specialni pouziti a casto pro konkretni specialni HW. Jinymi slovy, pro normalni CPU v realu existuji jen dve urovne AVX512 a jiz ta prvni obsahuje skoro vse potrebne. SSE v tomhle bylo horsi, kde kazda nova generace pridavala hodne uzitecnych instrukci (SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4a) a nektere dokonce nebyly vzajemne kompatibilni (SSE4a vs SSE4.1/2).

+1
0
-1
Je komentář přínosný?

Pro psaní komentářů se, prosím, přihlaste nebo registrujte.