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

Diskuse k Vypnutí jednoho CCD může ve Windows 11 zvýšit herní výkon Ryzen 9 7950X o 16 %

Tak Win 11 scheduler byl zbastlený pro Intelácký big.LITTLE, takže se vůbec nedivím.

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

tak to sa da lahko vyriesit nie? hlavnymi ifmi

if CPU is x86 intel, then ... 10 tisic riadkov kodu (kde moze byt dalsie clenenie na rozne CPU)
if CPU is x86 amd, then ... 10 tisic riadkov kodu (kde moze byt dalsie clenenie na rozne CPU)
.... dalsie ify a elsy na dalsie CPU (ale to uz je asi dalsia edicia wokien pre arm)

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

Samozřejmě se to tak dá řešit a řeší se, ale aby ten kód pro AMD někdo mohl napsat tak AMD musí s MS spolupracovat a dodávat specifikace jak to napsat. Ale když AMD nedodává včas, co mohou dělat.

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

A ty informace, že AMD nedodává potřebné informace včas, máte z jakého zdroje? Nebo jde jen o vaše osobní dojmy?
Tvrzení některých vývojářů Microsoftu, že při úpravách a ladění kódu Windows mají stále přednost CPU od Intelu jsem pár zachytil, a některá jsou vcelku čerstvá.
Stížnosti na pozdní či nedostatečné informace ze stany AMD jsem ale nikde nezaznamenal!
Vy snad ano?! V tom případě se s nimi!

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

„AMD musí s MS spolupracovat a dodávat specifikace jak to napsat. Ale když AMD nedodává včas, co mohou dělat.“

Proč lžete? Toto byl pseudoargument Microsoftu v době vydání Zen 1. Při vývoji Zen 2 AMD s Microsoftem spolupracovala a stejně byly při vydání v scheduleru Microsoftu chyby. Totéž se Zen 3, kdy AMD žádné změny nežádala, ale Microsoft ve Windows 11 poškodil scheduler a latence L3 cache pod Windows 11 dosahovaly trojnásobku toho, co pod Windows 10. Opraveno to bylo až poté, co Intel zveřejnil slajdy, kde Alder Lake srovnával s degradovaným Zen 3:

https://diit.cz/clanek/intel-srovnaval-alder-lake-se-zen-3-bez-zaplat-na...

Windows 11 byly vydané rok po vydání Zen 3. Bylo to pro Microsoft málo času?

Nyní tu máme opět totéž, ve Windows 11 je na Zen 4 sražený herní výkon a shodou okolností se s tím před vydání Raptor Lake nic neděje a Intel opět vydává slajdy s výkonem měřeným ve Windows 11.

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

Opravdu se stačí podívat, jak se scheduler chová v kombinaci s Intelem či AMD pod Win 10 / Win 11 nebo Linuxem a případně, kdo má možnost, ať se podívá na odlišné chování v desktop / workstation / server edici. Jestli za tím není snaha nějak pomáhat Intelu, tak to vážně smysl nedává. A s ohledem na to, jak je úzká spolupráce MS a AMD na herních konzolích, byť jde o jinou divizi, je to vážně na palici.

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

Netvrdim ze to tak je, ale tipol by som ze pre kazdy typ procaku vo finale bezi ina, customizovana binarka. IFy v kerneli by to asi dost spomalovali. Okrem toho, tieto kriticke zdrojaky vacsinou byvaju pisane tak, ze vyrobca procesora priamo doda MS zdrojak (jeden alebo viac c/c++/asm suborov) a MS ho len vkompiluje do jadra. Podobne sa to riesi v driveroch - tie tiez dodava vyrobca hardweru priamo skompilovane a MS s tym nic nema.
Takze nie "if intel", ale cez direktivy "#ifdef intel" ... "#include intel.asm".

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

Toto bude asi dost hovadina :) Windowsy sa, ked tak, dodavatelom HW hackuju cez platformovy kod v UEFI. Pripadne cez platformove drivery tam, kde ma driver nejake API, cez ktore moze ovplyvnit chod Widiel. To AMD spravilo so schedulerom v dobe Zen 2, ked cez thermal API scheduler nutilo rozhadzovat thready tak, ze bol vo vysledku vykon vyssi. Stale sa to ale klasifikuje ako dirty hack. Microsoft v ziadnom pripade na nejaky amd.asm necaka.

IFy tam ziadne byt nemusia, mame dnes samomodifikujuci sa kod a keby ho v microsofte nevedeli pouzit, tak Windowse maju mikrokernelovu strukturu, takze sa da dotycna cast kodu loadnut ako DLLka

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

Tak ono se to dá řešit tak jak to má linux, kdy existuje možnost několika různých shedulerů, kdy každý má svůj jaderný modul a dá se mezi jednotlivými shedulery přepínat bez nutnosti restartu.
Žádné #ifdef a podobné...

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

jj Wintel na věčné časy a nikdy jinak.

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

po přečtení nadpisu jsem hned věděl, že v komentářích bude wintel :D

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

Windows 11 jsou ksindl od samého začátku.

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

Proč scheduler u Intelu funguje a AMD ne? To že něco nefunguje ideálně nutně nemusí být chyba na straně toho co nefunguje.

Aby někdo mohl napsat scheduler na míru konkrétním CPU, tak musí vědět jak se ty CPU chovají, tzn. výrobce CPU dodá kompletní specifikace, popíše chování a ideálně dodá nějaké lidi co budou k ruce lidem programujícím OS.

Když ale AMD Microsoftu nic nedodá a to ani ES vzorky CPU na kterých by to ještě před vydáním mohli testovat, tak se není čemu divit.

To není problém OS ale AMD že se nesnaží s autory OS dosáhnout ideální funkčnosti svých CPU.

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

Jak můžete vědět, že to AMD s MS nekonzultovalo? Nebo obráceně, MS vydal nový OS a nevzal v potaz CPU jedné firmy. Tvrdit, že je chyba na jedné konkrétní straně je nesmysl. Krom toho, že některé věci prostě nefungují ideálně na první dobrou. Jindy se "pokazí" nějakým vedlejším efektem jiného zásahu. To je život.
Důležité je, aby to MS (je to jeho OS) fixnul. Možná se dočkáme driverů pro CPU, jako jsou drivery pro grafiky apod. Pak si každý výrobce CPU bude dodávat svoje vlastní vyladění do systému sám. Cesta by to byla možná lepší, než to co se děje teď.

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

„To není problém OS“

V Linuxu to funguje. Ve Windows 10 to funguje. Ve Windows 11 to nefunguje.

To je asi tak vše, dalšího okecávání a vyrábění důvodů, proč za to může AMD, netřeba.

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

Ono tipujem, ze tie procesory funguju okrem Linuxu aj v aspon 10tich roznych BSD, ktore nezdielaju kernel a aj v Solarise, pokial ho Oracle este uplne nezarezal :)

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

to je tak

Intel čísloval fyzické jadrá
0,2,4,6,8...
a logické HT jadrá 1,3,5,7,9,...

AMD 8-jadrovom Zen 1
čísloval fyzické jadrá
0,1,2,3,4,5,6,7
a logické HT jadrá
8,9,10,11,12,13,14,15

A s tým sa nevedel vyrovnať plánovač Microsoft-u.

Aby tam zase nebola zmena Big jadrá vs small jadrá u Intelu,ktoré nevyhovuje AMD.

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

"Windows 11 jsou ksindl od samého začátku."

Já bych to upřesnil: "Windows jsou ksindl od samého počátku"...

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

Vyjádřilo se k tomu nějak AMD? Jestli pracuje s MS na opravě nebo tak něco?

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

Něco jako že už konečně začínají s MS spolupracovat na vyladění scheduleru pro nové procesory a třeba dodají nějaké ty ES vzorky aby to mohli i vyzkoušet? Položme si otázku, proč teď a proč ne před už dávno před vydáním?

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

Kolikrát to tady ještě budeš psát? Možná ti to nikdo neřekl, ale stokrát opakovaná lež se pravdou nestane.

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

Ještě dvakrát, pak končí vycházky...

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

To zas spadly sračky do větráku.

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

A jaky bude vykon pri vypnuti SMT?

Prijde mi lepsi vypnout SMT, nez cely CCD. Chapu poznamku o ruznych vlastnostech obou CCD.

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

Podle clanku jinde ma SMT mensi vliv, ale je vhodne vypnout oboje.

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

Tie vysledky by mali vacsiu vahu, keby ukazal to iste aj pod W10. Nikde som to iste nastavenie a vysledky pod W10 nevedel najst. Teoreticky moze byt, ze pod W10 by bez aj s vypnutym CCD davalo v oboch pripadoch len tie horsie vysledky.

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

On neexistuje důvod, proč by s jedním CCD měl být na Windows 10 výkon nižší. Naopak ve Windows 10 je u Ryzenů obvykle herní výkon mírně vyšší než ve Windows 11.

Krom toho, ať už je pokles výkonu ve Win 11 způsoben tím, že scheduler chybně přehazuje zátěž nižšího počtu jader na pomalejší CCD (což vypnutí pomalejšího CCD řeší) nebo jiným důvodem, nedává smysl, aby vypnutí pomalejšího CCD ve Win 10 působilo nižší výkon než ve Win 11. Taková úvaha nemá racionální opodstatnění.

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

"On neexistuje důvod, proč by s jedním CCD měl být na Windows 10 výkon nižší."
Dovod by mohol byt, ze vo W11 je vykon pre jedno CCD vyssi preto, lebo MS a/alebo AMD inzinieri ho pre W11 a 1 CCD dodatocne zoptimalizovali. Napr. nasli nieco, co sa vo W11 da urobit, ale vo W10 nie.
Ale ... neviem, podla mna vsetci varime z vody, pretoze jednoducho nemame dost dat. Ten tester to mal skusit so svojou zostavou aj na W10.
Mohlo by sa ukazat, vykon vo W10 s 1 alebo 2 CCD je rovnaky, ale nizsi ako vo W11 s 1 CCD.

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

AMD inženýři nebudou Zen4 optimalizovat ani pro W11 ani pro W10, protože servery (EPYC Genoa) jim běží na 95% pod linuxem...

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

Nechcem sa zastavat Microsoftu, ale je tazke povedat, kto ma na tom vacsiu zasluhu, ci Microsoft, AMD alebo obaja. Ono to totiz nie je len zalezitost scheduleru, ale aj napr. aj profilov, ake doda AMD, ktore dost ovplyvnuju spravanie CPU a nasledne aj schedulera. Taktiez scheduler dostava rozne podporne info o CPU (kvalita jadier, atd) a na zaklade toho sa musi rozhodovat.

Dalsia vec je, ze nemusi existovat spravne nastavenie schedulera na vsetky typy zataze. Napriklad na hry je zatial vsetko lepsie hadzat na jedno CCD, avsak na dobre optimalozvany multi-core sw zase vyuzivat vsetky CCD ekvivalentne..

Ja mam este 3950x, ktory bol kritizovany za to, ze nedokazal casto dosahovat proklamovaneho max boostu.
1usmus vydal optimalizovany profil do Win10!, ktory daval scheduleru take info o CPU, aby scheduler uprednostnoval hlavne kvalitnejsie CCD. To prinieslo jednak zvyseny power budget pre to lepsie CCD, menej interCCD komunikacie, castejsie dosahovanie max boostu a pre majoritu ludi (gamerov) zvysenie FPS v hrach.
https://www.guru3d.com/files-details/1usmus-custom-power-plan-for-ryzen-...

"The power plan will ensure that workloads do not bounce between cores, leading to higher and more stable performance. Boost clock behavior is also improved because the Windows 10 scheduler will move applications onto better CPU cores, prefering those, which are able to run at higher clock frequencies. For this updated power plan to work properly, certain settings have to be configured in the BIOS. While most vendors use the correct defaults, I'll still list all the options here, for completeness, and for you to verify, in case other defaults are used."

Co uz take vesele nebolo, ze mi to prinieslo aj nestabilitu a obcasne rebooty. Pomohlo az pridanie offsetu voltaze do CPU. Takze tak s tretostrannymi toolmi a profilmi :)

Zaver je, ze ta problematika je komplexna, Win11 a AMD mozno potrebuju viac casu na ladenie a mozno AMD to nastavilo proste takto a v hrach to ma o nieco menej FPS, ale zase to moze mat vyhodu vyssieho vykonu v multicore zataziach.
Pravdu vie asi len AMD.

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

Jak to, že u procesorů Intel takové triky nutné nejsou? Že by AMD nedodávala potřebné informace a tím okrádala kupující o výkon, to je velká blbost a ještě větší, když srovnáte chování Win 10 a Win 11. Prostě MS evidentně Intel upřednostňuje. Možná proto, že prodá víc procesorů. Takto jednoduché to může být.

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

Nuz, este donedavna bola architektura AMD Zenov pre scheduler o dost vacsim orieskom nez architektura Intelu. To sa zmenilo az s big.little ci ako tomu nadavaju.

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

Mám vážně věřit tomu, že MS je tak neschopný, že v tomto nedokáže srovnat krok s Linuxem? Pokud se dokáže scheduler Windows popasovat s něčím jako BIG.little ale symetrický multiprocesing s multithreadingem u AMD mu stále dělá potíže není to neschopnost, tomu u tak velké společnosti nemůžu věřit. Tím spíše, že vyšší edice Windows pro pracovní stanice a servery nemají problém ani nad 128 vláken, což základní edice taky nezvládá.

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

1. To, ze ma Intel vo Win11 s BIG.little vyssi vykon ako AMD este automaticky neznamena, ze ten scheduler je napisany spravne a nemohol by mat vykon este vacsi.
2. Pochybujem, ze tie vyssie edice Windows by mali vyssi vykon v hrach, ako ma tento standardny Win. Ak mate dokaz o opaku, rad si ho pozriem.

A ze... symetrický multiprocesing s multithreadingem.. tak jednoduche to pri AMD nie je.

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

Ne není to jednoduché, to ale pořád nevysvětluje, proč Win 11 sedí víc Intelu a proč Win 11 sedí AMD hůř než Win 10. A už vůbec proč Linux takové problémy nemá, tedy evidentně v MS dělají něco blbě.

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

Uvidime. Ak by som si mal vybrat ci enthuziast CapFrameX neurobil testy dokazne, komplexne a preukazne - a vyplynula mu z toho chyba v usudku. Alebo je za tym spiknutie, ktore moze viest k sudu a nepeknym pokutam, asi by som si vybral prvu moznost.

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

Rychlejší nebo pomalejší....dokud budou procesory z 2 nebo více čipletů a budou si muset prohazovat data mezi sebou přes sběrnici, vždy tam bude nějaká brzda v porovnání s tím kdyby to byl monolit,

....jo aha, to se nestane, Ryzeny už budou navždy čipletové,
a Intel se k tomu v následujících generacích sune taky, tak nic.

Já to třeba vidím na práci kterou občas dělám na 12 jádrovému Ryzenu,

ostatně každý si může na zkoušku třeba v P95 pustit benchmark s nastaveními 1 úkol na všech jadrech, nebo 2 úkoly každý na polovině jader.... Jasně že vyjde lépe když se budou počítat 2 úkoly každý na polovině jader, 1 úkol by možná byl nejrychlejší ale nikoliv nejefektivnější
Příklad:
1 úkol počítám 3 hodin což je paráda, = za den 8 úkolů
Při konfiguraci 2 souběžných úkolů mi to počítá 5 hodin to se zdá jako špatný vysledek, ale za těch 5 hodin udělám oba úkoly a za den to je pak 9,6 úkolů
A právě P95 vám při AVX operacích a konkrétním FFT ukáže nejlepší konfigurace,
Z pravidla ve chvíli kdy máte aplikaci která vyžaduje víc jader než má čiplety se to zlomi a efektivita přejde z jedno úkolové operace na několik souběžných úkolů,
nepamatuji že by mi někdy benchmark řekl že je vhodné počítat úkol na 7 nebo 8 jádrech když čiplet má jen 6 jader.
A často se stávalo že počítání na 6 jádrech bylo stejně rychlé jako na 10 jádrech a jen operace na 12 jádrech byla maličko výkonnější než 6 jader, z toho důvodu bylo výhodnější přenastavit práci na 1,2, 3 nebo 6 jader kvůli efektivitě, aby se úkol držel na jádrech v rámci jednoho čipletu a paralelně vedle toho pustit xx stejných operaci se stejnou konfigurací na vytížení zbytku celého CPU.

Z tohoto hlediska mají Ryzeny obrovskou brzdu, a nedokáží výkon jednoduše škálovat počtem jader, naštěstí málokdo si toho všimne,
zatím nikdy a nikde jsem neviděli tak komplexní testy .

A taky je to jeden z důvodu proč můj i-9900k s 8 jádry dokázal být rychlejší než můj druhý CPU Ryz.3900X s 12 jádry

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

Tak to je slušný blábol, jednak přece záleží na konkrétním algoritmu a taky na CPU jede kromě aplikace taky OS a hromada dalších vláken.

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

proč blábol?
vždyť si to sám můžeš vyzkoušet na svém CPU nebo na kterémkoliv jiném CPU ke kterému se dostaneš, pokud je to 2 čipletový Ryzen

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

A on se tomu někdo diví? Win11 totální bastl a shit...

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

"Z tohoto hlediska mají Ryzeny obrovskou brzdu, a nedokáží výkon jednoduše škálovat počtem jader" Zajímavé, že pod Linuxem nebo BSD se nic z toho neprojevuje. A to, že s rostoucím počtem jader aplikace neškálují lineárně se ví už dávno, ale určitě to není tak přehnané, jak popisujete. Může za to zvyšující se režie řízení těch vláken. Protože kdyby to bylo, jak píšete procesory nad 16 jader by nemělo smysl vyrábět. Ale ony se uplatní a nejen v serverech, ale i v pracovních stanicích. Spíš by mne zajímalo v čem to pozorujete, jestli to spíš není problém té aplikace.

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

Že Intel je synonymem pro ojeb je zřejmé už delší dobu žádné překvapení se nekoná.

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

pokud vypnutí jednoho CCD přidává výkon ve hrách, pak analogicky by vypnutí druhého CCD mělo přinést další výkon navíc

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

Tak jsme se zasmáli.

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

Není to způsobeno spíše nevhodnou migrací vláken hry schedulerem střídavě přes oba CCD a tím zhoršení průměrného cache-hit-ratio? Škoda, že autoři testu kromě vypnutí CCD nevyužili i afinitu vláken procesů hry k jednomu CCD.

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

Windows? To ještě někdo používá?

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

Asi by jste se divil.

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

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