A co to je ten "Xeon E5 V4"? ;)
Jinak vzhledem k velice příznivým provozním parametrům i současného Zenu (osm jader při TDP 65W má frekvenci 3 GHz) je dost dobře možné, že 32 jader při plánovaném TDP 180 W (45W na každou osmici) bude mít výrazně větší frekvenci než těch intelích 2,2 GHz. Někdo to snad odhadnul na 2,8 GHz, což by byla asi solidní facka pro Intel.
A co to je ten "Xeon E5 V4"? ;)
Xeon E5 v4 (třetí revize řady Xeon E5)
Ani ne, kdyz intel je per jadro 2x rychlejsi ... takze 32/44 = 70%. Tudiz kdyby AMDcko melo pri tech 32 jadrech frekvenci o zhruba 30% vyssi, tak by +- dorovnalo toho intela.
Pricemz intel ty svy procaky uz rok vesele prodava. Tudiz narozdil od AMD pro nej snizit cenu neni zasadni problem.
Já myslel, že s AVX/AVX2 instrukcemi je to výrazně složitější, protože některé mohou mít latenci i několik set cyklů, takže to, že to RyZEN řeší AVX2 instrukce jinak (přes 128 bitové vektorové jednotky, pokud mě paměť neklame) neznamená, že jsou AVX2 operace 2x pomalejší než u Intelu. Koneckonců tomu odpovídají testy rychlosti u Blenderu a Handbrake, kdy RyZEN překonává rychlostně srovnatelný CPU 8C/16T od Intelu.
Nevím o tom, že by 2x pomalejší vykonávání AVX2 kódu bylo někde oficiálně potvrzeno či oznámeno. Našel jsem to jen v pár diskuzích jako příspěvek některých lidí, kteří nikde nepsali zdroj.
Pokud je to jinak, rád si to nechám vysvětlit.
Několik set cyklů? :) To je cache miss! I instrukce typu v[p]gather[xx] mají latenci tak 10..20.
Ještě nemám hotový Ryzen, ale latence/rcp SkyLake je k dispozic zde v sekci Performance: AsmGrid
PS není to ještě úplně hotové..
Tak jsem to pohledal, ať nevaříme z vody... Dle tohoto materiálu http://www.agner.org/optimize/instruction_tables.pdf instrukce VMOVNTDQ (AVX2) má latenci okolo 400 cyklů. Jsou další instrukce z AVX2 sady, které mají latenci v jednotkách cyklů. Jak je na tom RyZEN jsem nikde nenašel, ani to, že by ty operace měly být 2× pomalejší než u Intel CPU. Máte někdo nějaký zdroj s průkaznými informacemi?
Instrukce typu movntdq/vmovntdq bych ani neporovnával. Jejich použití je tak specifické, že na typický workload o nich nemá smysl přemýšlet. Setkal jsem se i s tím, že programátor právě použitím těchto instrukcí běh programu zpomalil.
Jinak já si ještě pamatuju movntq z dob MMX, kdy byla obecně cache malá a právě tyto instrukce mnohdy znamenaly zrychlení 2x/3x (linux je tehdy používal pro čištění stránek).
Bude mít? Jakože zatím nemá? :-D
Ty latence jsou dle toho odkazovaného materiálu minimální možné, mohou být za běhu větší. Např. cache miss atd.
Další info co jsem našel je, že Intel při vykonávání AVX kódu throttluje.
Pořád mám dojem, že porovnávat to na základě jedné hodnoty u těchto rozdílných architektur je k ničemu. Je třeba udělat průkazné testy vykonávání reálného kódu. Benchmarky např. u již zmíněného Blenderu, Handbraku, ale také dalších napovídají, že to bude jinak.
Připomíná mi to jako když někdo začne porovnávat obsah motoru a přitom tahle hodnota nic nevypovídá o výkonu a dokonce ani výkon samotný nic nevypovídá, protože daleko více vypovídající je výkon vztažený na hmotnost.
Jsem hodně zvědavý, jak si v tom RyZEN povede, konkurence tu velmi chyběla.
Takže jestli to chápu správně, tak RyZENu trvá naládování AVX2 instrukce do vektorové jednotky 2 cykly (po 128 bitech) a to samé uložení výsledku, ale o tom, kolik která instrukce trvá cyklů se tam nepíše. Takže pokud budu předpokládat, že to trvá stejně jako u Intelu (dle Petra výše), který průměrně vykonává AVX2 instrukce 10-20 cyklů, tak to u RyZENu bude trvat 12-22 cyklů? Což je o 10-20 % déle nikoli +100 %?
Jenom bych opravil, že víc než 10 cyklů jsou jen specifické instrukce. Integer operace mají lat. 1, integer multiply 5, floating point add/mul 4, a pak jsou další jako dělění atd. Pak jsou horizontální operace, které mají u Intelu obecně víc. V podstatě se to dá vyčíst z té tabulky. Co je u AVX nepříjemné jsou permutace, které mají na Intelu latency 3.
Je nějaký materiál, jak to má RyZEN? Protože bez těchto informací je zmínka o dvou cyklech pro load/store pro vektorovou jednotku s informační hodnotou 0, vzhledem ke zcela odlišné vnitřní architektuře procesoru. Core i* a RyZEN jsou IMO na takové, z kontextu vytržené srovnání jedné hodnoty příliš rozdílné.
Zde jsou latence a propustnosti různých instrukcí Zenu, podobně jako je určitě brzo zveřejní Agner:
http://users.atw.hu/instlatx64/AuthenticAMD0800F11_K17_Zen_InstLatX64.txt
... podle těch čísel je propustnost AVX instrukcí na Zenu opravdu poloviční oproti SSE. Tedy v některých případech, kdy by nebyla limitem propustnost pamětí, může mít jádro Zenu poloviční "výkon" oproti jádru Intelu.
Celá sbírka s mnoha dalšími procesory zde: http://users.atw.hu/instlatx64/
Koukám na to, ale instrukcí AVX2, které trvají dvakrát déle zas tolik není, častěji to je méně, často stejně a jindy to je i opačně, kdy Intel má latenci výrazně vyšší. Zajímavá je také propustnost. Takže mi to spíše přijde jako zmiňovaný rozdíl architektur. Když k tomu připočtu řídkost AVX2 instrukcí, vykonávání instrukcí mimo pořadí..., dopadá to v reálu tak, jak to ukazují benchmarky reálných aplikací. Zajímavé.
U AVX a ostatních instrukcí je to úplně jinak.
Opravdu klobouk dolů před AMD, co v těžkých podmínkách dokázalo. I při horším výrobním procesu, v první 14 nm generaci oproti již vyladěnému výrobnímu procesu Intelu v několikeré generaci.
Každopádně pomalejší vykonávání AVX2 instrukcí mi přijde jako zajímavá výkonnostní rezerva pro budoucí generace Zen architektury.
Moc díky za zdroj, hodně zajímavé čtení :-)
Podívejte se hlavně na tu propustnost. Ta je opravdu u většiny AVX/AVX2 instrukcí poloviční oproti Intelu (jsou uvedeny obrácené hodnoty, tedy dvojnásobné). Latence jsou místy u Zenu lepší, ale na tom příliš nezáleží u kódu, kde je velký paralelismus na úrovni instrukcí (většina kódu s AVX/SSE). Jak jsem ale psal dříve, tato výhoda Intelu se projeví pouze tam, kde kód nebude limitován propustností paměti.
Tímto každopádně nechci nijak zpochybňovat, že je Zen skvělá architektura a je mi jasné, že z toho budeme mít užitek všichni, včetně zákazníků Intelu, protože ceny půjdou dolů. Jen prostě pro některé specifické nebo dobře optimalizované úlohy bude Intel lepší volbou.
lenžedoteraz najstarší CPU od AMD stál 4200 USD/ kus a len jeden z 22 jadier Intelu je lacnejší.. Takže máme nábeh na najdrahší CPU od AMD v histórii. 2-2,5× vyšší výkon je celkom sila 5000 USD za kus si môže AMD pýtať.
E7-8880 v4 (55M cache, 22 Cores, 44 Threads, 2.20 GHz (150W) 9.60 GT/sec Intel QPI, 14nm) $5,895 $5,895
E5-4669 v4 (55M cache, 22 Cores, 44 Threads, 2.20 GHz (135W) 9.60 GT/sec Intel QPI, 14nm) $7,007 $7,007
E5-2699A v4 (55M cache, 22 Cores, 44 Threads, 2.40 GHz (145W) 9.60 GT/sec Intel QPI, 14nm) $4,938 $4,938
E5-2699 v4 (55M cache, 22 Cores, 44 Threads, 2.20 GHz (145W) 9.60 GT/sec Intel QPI, 14nm) $4,115 $4,115
https://www.intc.com/investor-relations/investor-education-and-news/cpu-price-list/default.aspx