Permalänk
Datavetare
Skrivet av Kraeshok:

Tills detta är åtgärdat är det nog så att Windows 10 är en inte helt optimal plattform att jämföra IPC. Jag gissar på delvis omgjorda reviews inom några veckor...

https://www.youtube.com/watch?v=kr6CYZmjKcA

https://www.youtube.com/watch?v=v-D9uDeOvtQ

https://www.youtube.com/watch?v=U9DE83lMVio

https://www.youtube.com/watch?v=CXDxZxFqhdY

Från anandtechs updaterade recension:

Några kontrollfrågor bara:
Du har tittat på de videon du länkar va? Vad ska de visa?

  • CS:GO - Win7 ligger absolut högre, men är väldigt hög FPS och CPU-användningen visar att det främst är en CPU-tråd som är hårt lastad.

  • BF1 - fick titta flera gånger, men här presterar väl ändå Win10 konsekvent bättre? Och BF1 brukar framhållas som ett spel där flera kärnor kommer väl till pass.

  • TombRaider (2013) - Win7 ligger absolut högre, även om detta spel är bättre än CS:GO på att utnyttja kärnor så är det ändå rätt dåligt på att sprida last och FPS på ~400 strecken (knappast väl testat på någon plattform)

  • Doom (OpenGL) - är ju helt jämnt skägg, detta är ju ett spel som kan dra nytta av hyfsat många kärnor.

Så är syftet med dessa länkar att visa: Win10 fungerar absolut väl med titlar som faktiskt använder relativt många kärnor eller var syftet att visa att Win10 är sämre i gamla spel? Vet vi hur Intel presterar i CS:GO och TR 2013, kanske är så att dessa titlar (som båda släpptes innan Win10) generellt presterar bättre på Win7.

Och anta nu att det är något fel på schemaläggaren i Win10, känns det då sannolikt att Win7 på något magiskt sätt är optimerad för Zen? Enligt PC Perspective säger ju AMD själva att de INTE anser att det finns något problem med hur Windows 10 hanterar Ryzen. AMDs fokus ligger i stället på att jobba med spelutvecklare för att göra speciella optimeringar för Ryzen, något som faktiskt är möjligt och något man borde redan ha erfarenhet kring då PS4/XBO också har en CPU som består av två fyra-kärnors-delar som inte delar cache.

Specifikt står detta i artikeln

"I have been told from high knowledge individuals inside the company that even AMD does not believe the Windows 10 scheduler has anything at all to do with the problems they are investigating on gaming performance."

Och till de som fortfarande tror att man kan göra en generell optimering för hur schemaläggning över CCX-gränsen ska fungera: hur många OS-schedulers har du skrivit? Tänk att du ska skriva en, hur ska du som OS-utvecklare kunna avgöra om det optimala är att sprida över CCX eller hårt hålla saker på samma CCX även fast alla kärnor har en tråd aktiv på alla fysiska kärnor? Det är omöjligt att ge ett generellt gångbart svar på detta, det beror på vad trådar gör och den enda som har den informationen är applikationsutvecklaren.

OS-utvecklar har tänkt på detta fall. Det är fullt möjligt för applikationer att göra override på hur trådar schemaläggs, är en standardfunktion i både Windows och Linux.

Ergo, sprida eller inte sprida över CCX är INTE ett beslut som bör tas av OSet. På vilket sätt är då Windows 10 scheduler fel idag?

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

En sak som Ryzen ägare skulle kunna prova för att se hur det påverkar prestanda är att justera context switching clock ticks, normalt ligger denna på 2 i klient OS, på server ligger den normalt på 12 men det är inte jättelätt att få fram exakta siffror från MS på detta. Dock kan man ändra från lägst klock ticks till högst tillåtna genom att ändra:
"schemaläggning av processor" under Prestandaalternativ som finns under systemegenskaper. Normalt står denna på Program i win10 klient & på server står den på bakgrundstjänster, skillnaden ligger främst här i hur många klock ticks en tråd hålls kvar innan nästa släpps fram (förutsatt att bägge har samma prio), detta är inte bara bra åt ena eller andra hållet men det skulle vara lite intressant att se om det har någon inverkan på just ryzen när trådar hålls kvar längre vid liv innan nästa väntande tråd får tillträde, detta i sin tur skulle rent teoretiskt kunna sänka trådhoppandet en smula. Av naturliga skäl har det såklart en del negativa effekter också men det vore intressant ur ett rent teoretiskt perspektiv.

Edit: Man kan relativt enkelt prova genom att köra wPrime & en arbetstråd, ett scenario där du får konstant trådhoppande, på min intel burk gav det en negativ prestandaskalning med -0,3% att köra bakgrundstjänster på just wPrime med 1 tråd jämfört med "program". Det borde vara något liknande på de flesta burkar & skulle vara skoj ifall någon kunde prova på en Ryzen setup. Bara och köra ett par rundor & slå ut ett medel, ändra schemaläggarn & köra ett par igen & ta medel.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Medlem

Om funktionen "bra inlägg"
Tycker den ibland, inte alltid, används när någon efter ett citat försöker trycka ner någon annan i skorna (om ni nu förstår vad jag menar). Skadeglädje-knapp? Hoppas jag har fel i mina iakttagelser.

En vecka imorgon hemma hos mig med Ryzen!
Hoppas konkurrensen består och AMD inte floppar efter en bra start med sin försäljning. Har inte kört på AMD sedan AMD Athlon 64. AMD var faktiskt först med en 64 bitars CPU för konsumenter. Sedan kom Intel och drog ifrån. AMD är nu först med 8 kärnor till konsumenter. Hoppas Intel åter hänger på men inte drar ifrån, utan att AMD hänger med. Konkurrens är bra för oss konsumenter!

Visa signatur

[AMD Ryzen 9 3900X] [ASUS GeForce RTX 2080 Ti] [LG OLED 55 C9 som skärm] [Samsung HW-Q96R till ljudet]

Permalänk
Medlem
Skrivet av Kraeshok:

Från anandtechs updaterade recension:
Static partitioning methods being used shows performance gains when SMT is disabled

Intressant, de utvecklar lite:

Citat:

The issue of single-thread performance increasing when SMT is disabled (we’ve done some pre-testing, up to 6% in ST) is clearly related to the design of the core, with static partitioning vs competitive partitioning of certain parts of the design.

Här verkar Anandtech ge Ryan Shrout (PCPer) rätt, det är inte ett problem med schemaläggaren. Jag har inte koll på exakt vad de menar med "static partitioning". Jag antar att en del resurser inte delas, och att det får effekt när SMT slås av? Som sagt, inte koll.

Visa signatur

--
A shark on whiskey is mighty risky, but a shark on beer is a beer engineer.

Permalänk
Medlem
Skrivet av yrfhar:

Om funktionen "bra inlägg"
Tycker den ibland, inte alltid, används när någon efter ett citat försöker trycka ner någon annan i skorna (om ni nu förstår vad jag menar). Skadeglädje-knapp? Hoppas jag har fel i mina iakttagelser.

Ja, är man inte "inne" i tråden så ser man lätt att användare med obekväma åsikter inte är välkomna.

Visa signatur

sweclockers prestandaindex

Efter 10 kommer 11.
Efter 99 kommer 100.

Permalänk
Medlem
Skrivet av Yoshman:

De borde ha postat källkoden för sitt program, tyckte det var ett kul test så svängde ihop motsvarande på lunchen. Fungerar både på Windows (testat i Visual Studio 2015) och Linux (testat på Ubuntu server 16.04). Får på nanosekunden samma HT-till-HT latens på Haswell som de fick i sitt test med i7-5960X (som är Haswell), så gissar att de körde exakt samma metod.

Här är programmet för den som vill testa

Min maskin måste sakna en hel del MS-saker som du har på din. Vad har du för miljö för att få den att fungera på Ubuntu; jag kör standard Debian 64-bit.

Visa signatur

| Fractal Design Define R5| Asrock X399 Fatal1ty| Threadripper 1950X| Noctua NH-U14S TR4-SP3| Corsair Vengeance LPX 8x16GB 3200 C16| be quiet! Straight Power 11 Platinum 1000W| ASUS RTX 3080 10GB Strix| LG OLED 4k 42" C2| Debian Sid| KDE 5.x|

Permalänk
Medlem

@Yoshman: Du hittar i princip alla svar du söker i artikeln hos hardware.fr jag länkade till

IIRC En av Windows 10 finesser för att spara ström är att sprida ut trådar på logiska enheter i en processor, sparar effektivt ström för t.ex. bärbara datorer, men Ryzens design gör att det är en prestandaförlust.

Ryzens prestanda under Windows 10 är inte en enhetlig lösning utan verkar vara beroende av ett flertal faktorer. Angående CCX och optimering av trådar så för Ryzen handlar det bl.a. om att inte sprida trådar tillhörande Core 0-3 + logic cores 4-7 utanför detsamma och vice versa om 8-15.

Att säga att det är fel på schemaläggaren i Windows 10 är en väldigt enkel och elak skuldbeläggning för situationen. Ryzen fungerar inte som tidigare processorer så det är nog mer lämpat att säga att Ryzen och Windows 10 inte förhåller sig till varandras grunder? Hursomhelst har både AMD och Microsoft intresse av att det ordnas snarast så jag skulle tro att en fix dyker upp inom några veckor...

Videorna är informativa om hur Windows 7 och 10 skiljer sig åt ur ren prestanda vinkel. Alltså vad Ryzen bör kunna prestera optimalt i Windows 10. Videor med samma eller sämre prestanda visar att allt är inte bättre i Windows 7 miljö utan vissa applikationer fungerar bättre i Windows 10 miljö, vilket påvisar även komplexiteten?

Just Battlefield 1 är intressant, hos Hardware.fr ser vi att 4+0 mot 2+2 med SMT avstängt så får 4+0 20% bättre prestanda jämfört med 2+2...

Permalänk
Medlem
Skrivet av Kraeshok:

@Yoshman: Du hittar i princip alla svar du söker i artikeln hos hardware.fr jag länkade till

IIRC En av Windows 10 finesser för att spara ström är att sprida ut trådar på logiska enheter i en processor, sparar effektivt ström för t.ex. bärbara datorer, men Ryzens design gör att det är en prestandaförlust.

Ryzens prestanda under Windows 10 är inte en enhetlig lösning utan verkar vara beroende av ett flertal faktorer. Angående CCX och optimering av trådar så för Ryzen handlar det bl.a. om att inte sprida trådar tillhörande Core 0-3 + logic cores 4-7 utanför detsamma och vice versa om 8-15.

Att säga att det är fel på schemaläggaren i Windows 10 är en väldigt enkel och elak skuldbeläggning för situationen. Ryzen fungerar inte som tidigare processorer så det är nog mer lämpat att säga att Ryzen och Windows 10 inte förhåller sig till varandras grunder? Hursomhelst har både AMD och Microsoft intresse av att det ordnas snarast så jag skulle tro att en fix dyker upp inom några veckor...

Videorna är informativa om hur Windows 7 och 10 skiljer sig åt ur ren prestanda vinkel. Alltså vad Ryzen bör kunna prestera optimalt i Windows 10. Videor med samma eller sämre prestanda visar att allt är inte bättre i Windows 7 miljö utan vissa applikationer fungerar bättre i Windows 10 miljö, vilket påvisar även komplexiteten?

Just Battlefield 1 är intressant, hos Hardware.fr ser vi att 4+0 mot 2+2 med SMT avstängt så får 4+0 20% bättre prestanda jämfört med 2+2...

Huvudsakliga problemet med just CCX och dess påverkan på latens uppenbarar sig oftast vid lätt flertrådade applikationer, alltså fall där windows gärna sprider ut arbetet över fler logiska kärnor än vad som egentligen behövs (bekräftat av praktiskt taget alla inblandade parter inklusive pcper i videon) och vid extremt tungt flertrådade applikationer så är trådhoppandet näst intill obefintligt då alla kärnor redan har jobb och då blir effekten av just CCX latensen nästan obefintlig (förutom fall där det krävs konstant och överdriven kommunikation mellan trådar). Ett spel som exempelvis använder fyra arbetstrådar har inte mycket anledning att spridas ut över 16 logiska processorer annat än ett försök till energibesparing eller värmespridning. Om man då kan ändra hur detta hanteras dels i schemaläggaren men också av programmen som gör undantag från de normala spelreglerna som schemaläggarn har så är det väl höga odds att det skulle förbättra prestandan på Ryzen, just exakt hur mycket blir extremt applikationsspecifikt.
Battlefield 1 som exempel är väldigt flertrådat i sitt arbete jämfört med andra spel, ett som däremot inte är det vid låga inställningar är Tomb Raider, det är istället väldigt lätt flertrådat. Som av en ren händelse råkar detta stämma rätt bra överens med de prestandaskillnader som visas upp.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Medlem

Körde Firestrike - 1700X @ 4,1 / 1,475v

Cinebench @ 4,0 GHz:

Fyra kärnor @ 4,2 GHz - CPU-Z bench:

Visa signatur

MB: AsRock Fatal1ty X370 Gaming K4 | CPU: 1700X @ 4,0 GHz | RAM: 16GB DDR4 3200Mhz | Grafikkort: Asus GTX 1070 Dual | PSU: XFX Pro Series 850W | Chassi: Fractal XL | CPU-kylning: Nepton 280L | SSD: Samsung 950 PRO M.2 256GB + Corsair MX100 256GB | Skärm: Acer H277HK 4K | OS: Windows 10

Permalänk
Datavetare
Skrivet av sAAb:

Min maskin måste sakna en hel del MS-saker som du har på din. Vad har du för miljö för att få den att fungera på Ubuntu; jag kör standard Debian 64-bit.

För att bygga på Ubuntu: tillräckligt ny C++ (använder C++11) samt GNU-make
Sedan ska detta räcka, antag att filen heter th_ping.cpp

make CXXFLAGS="-std=c++11 -O2 -pthread" th_ping

Behövs inga makefiler, GNU-make har implicita regler och dessa är fullt tillräckliga för detta program.

Detta är vad som borde hända på ubuntu 16.04

kenneth@skylake:~/th_ping$ make CXXFLAGS="-std=c++11 -O2 -pthread" th_ping g++ -std=c++11 -O2 -pthread th_ping.cpp -o th_ping

Nu ska det finnas en körbar fil med namnet "th_ping"

Edit: verkar även fungera på RPi3.

kenneth@rpi3:~/programming/c++/th_ping $ make CXXFLAGS="-std=c++11 -O2 -pthread" th_ping g++ -std=c++11 -O2 -pthread th_ping.cpp -o th_ping kenneth@rpi3:~/programming/c++/th_ping $ ./th_ping This system got 4 CPU-threads 0 <-> 1 : 40 ns 0 <-> 2 : 38 ns 0 <-> 3 : 39 ns 1 <-> 2 : 38 ns 1 <-> 3 : 38 ns 2 <-> 3 : 38 ns kenneth@rpi3:~/programming/c++/th_ping $ file th_ping th_ping: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=38f7f12ef80f578a744062839f47fd4eea2f76a4, not stripped

Dold text
Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Hjälpsam

@Yoshman: Just vad gäller BF1 påpekade någon att BF1 gärna använder DX11.1, detta saknas tydligen under Windows 7, vet inte om det förklarar saken men jag tycker att det verkar troligt.
Vi får se om något händer, i framtiden, men jag får intrycket av att det finns optimeringar att göra någonstans, schemaläggaren har nämnts men även bättre "core park" och strömsparfunktioner.

Men det skall sägas, sådant är inte livsviktigt för mig, jag trivs bra med den redan nu.

För mig tävlar inte dagens Ryzen mot i7 7700k, de tävlar mot i7 6900k, där förlorar Ryzen antagligen vad gäller finesser, men de vinner stort i pris.
Jag tror att vi kommer att se något liknande när AMD:S fyrkärniga släpps men då går de upp mot i7 7700k, de behöver inte slå denna, det räcker att komma tillräckligt nära och att ha ett bra pris.

Visa signatur

AMD Ryzen 7 1700 | Saphire RX 5700 Pulse XT (Silent Mode) | 64 GB Kingston ECC | https://valid.x86.fr/z2ljhr | Stockkylaren | Bitfenix Whisper M 750W.
AMD Ryzen 9 5900X | AMD RX 5700 | 64 GB Micron ECC | https://valid.x86.fr/5krwxf
HTPC | https://valid.x86.fr/uuzli0 |

Permalänk
Medlem

Ser ut som Asrock kortet presterar bra

Visa signatur

Xp1700+@Max 2689 mhz FSB@Max 250 SC(Synk) NF7-S rev 1.2
Thorton@Max 2801.8mhz+(L2@512) FSB@Max 291+! 2,5.3.4.11 DC(1/1)3.54 Vdimm 2x256 mb bh5 Dfi Lanparty Rev B(4440+/4095+)

Permalänk
Medlem

@C64C: 1.475 är lite svettigt i spänning, 1.375 eller 1.365 var max rekommenderat av AMD själva för 24/7 körning, som det resonerats om att 1.4 är nog det högsta man bör köra om man vill hålla livslängden på processorn uppe i rimliga nivåer. Kortare benchining är nog ok så länge temp hålls under 75, tror temp throttling sker vid just 75.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Datavetare
Skrivet av Pholostan:

Intressant, de utvecklar lite:
Här verkar Anandtech ge Ryan Shrout (PCPer) rätt, det är inte ett problem med schemaläggaren. Jag har inte koll på exakt vad de menar med "static partitioning". Jag antar att en del resurser inte delas, och att det får effekt när SMT slås av? Som sagt, inte koll.

Vissa saker är hårt uppdelade mellan de två CPU-trådarna på Zen. Så om bara en tråd används är den "andra" delen oanvänd. De gröna boxarna är hårt uppdelade

Vissa var t.ex. förvånande över att Zen hade en så hög kapacitet på "retire", 6 st uops per cykel. Det är högre än Haswell/Broadwell (de har 4 här) och lika med Skylake/Kaby Lake.

Men här har man egentligen en kapacitet på 2x 3 uops, vilket inte spelar något jätteroll när båda CPU-trådarna används (då har man ju en effektiv bredd på 6 uops) och antalet transistorer ökar exponentiellt med bredden så 1x 6 uops (som Skylake har) tar väsentligt fler transistorer än 2x 3 uops.

Är snarare alla andra block som påverkas när SMT slås av, de röda är first-come-first-served mellan trådarna. De blå är delade men CPUn försöker vara "smart" kring vilken tråd som får mest. De turkosa är delade på ett sätt så det ska vara rätt femti/femti mellan trådarna.

Så de röda, blå och turkos kan användas fullt ut av en enda tråd. Det är ju den stora fördelen med SMT, högre total kapacitet när det finns många trådar och maximal enkeltrådprestanda när det är få trådar aktiva.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Hjälpsam
Skrivet av tellus82:

En sak som Ryzen ägare skulle kunna prova för att se hur det påverkar prestanda är att justera context switching clock ticks, normalt ligger denna på 2 i klient OS, på server ligger den normalt på 12 men det är inte jättelätt att få fram exakta siffror från MS på detta. Dock kan man ändra från lägst klock ticks till högst tillåtna genom att ändra:
"schemaläggning av processor" under Prestandaalternativ som finns under systemegenskaper. Normalt står denna på Program i win10 klient & på server står den på bakgrundstjänster, skillnaden ligger främst här i hur många klock ticks en tråd hålls kvar innan nästa släpps fram (förutsatt att bägge har samma prio), detta är inte bara bra åt ena eller andra hållet men det skulle vara lite intressant att se om det har någon inverkan på just ryzen när trådar hålls kvar längre vid liv innan nästa väntande tråd får tillträde, detta i sin tur skulle rent teoretiskt kunna sänka trådhoppandet en smula. Av naturliga skäl har det såklart en del negativa effekter också men det vore intressant ur ett rent teoretiskt perspektiv.

Edit: Man kan relativt enkelt prova genom att köra wPrime & en arbetstråd, ett scenario där du får konstant trådhoppande, på min intel burk gav det en negativ prestandaskalning med -0,3% att köra bakgrundstjänster på just wPrime med 1 tråd jämfört med "program". Det borde vara något liknande på de flesta burkar & skulle vara skoj ifall någon kunde prova på en Ryzen setup. Bara och köra ett par rundor & slå ut ett medel, ändra schemaläggarn & köra ett par igen & ta medel.

Nu sitter jag i en övernattningslägenhet, utan min älskade Ryzen , men påverkar inte denna sak endast prioriteten på det program som ligger i förgrunden?
Prion petas alltså upp ett snäpp för detta.

Visa signatur

AMD Ryzen 7 1700 | Saphire RX 5700 Pulse XT (Silent Mode) | 64 GB Kingston ECC | https://valid.x86.fr/z2ljhr | Stockkylaren | Bitfenix Whisper M 750W.
AMD Ryzen 9 5900X | AMD RX 5700 | 64 GB Micron ECC | https://valid.x86.fr/5krwxf
HTPC | https://valid.x86.fr/uuzli0 |

Permalänk
Medlem

@Ratatosk: Nej det påverkar vad som kallas quantum värdet, hur många klock ticks som tråden får stanna aktiv innan något annat får hoppa in (grovt förenklat). Det finns en del info om hur detta sker men det refereras hela tiden till olika värden. En del säger att saker i bakgrundsläge har 2 ticks och förgrunden 6 ticks på klient och 12 rakt av på server, detta ändrar du med bakgrundstjänster/program. Nackdelen blir då såklart att saker i bakgrundsläge också får 12 ticks vilket i sig har en negativ inverkan på prestanda. Detta skulle dock kunna vara värt det då även förgrund får 12 ticks. en tick brukar enligt en källa vara runt 10-15ms i windows så det är relativt stora värdeförändringar som sker. att då dubblera tiden som en tråd kan leva innan trådhopp sker torde ge förbättring på Ryzen (enligt min högst egna logik)

Edit, ett sätt att mitigera bakgrundstjänster från att ta upp för många ticks är att köra högre prio på applikationen, på så vis så avbryts det inte av saker i bakgrund med normal prio.

Detta tror jag är anledningen till att folk misstar det som att ge bakgrunstjänster högre prio, de har egentligen samma prio i schemaläggarn som tidigare, skillnaden ligger i hur länge dom får stanna aktiva jämfört med program i förgrund. Kanske lite av en tolkningsfråga.

Edit 2. Provade nyss själv att sätta bakgrundstjänster läget igen & manuellt ändrade prio till hög på wPrime med 1 tråd och denna gång gav det mig en prestandaförbättring på 0,2% jämfört med "program" läget. Alltså till och med på en i7 tjänade man prestanda på att använda högre quantum värde.

Jag har kört igenom testerna flera gånger för att vara säker och varenda gång är det samma sak.
Med prio normal på wPrime förlorar jag 0,3% prestanda att aktivera "bakgrunstjänster" läget (ökat quantum värde)
Med prio hög tjänar jag 0,2% på högt quantum värde.
obs. genom att enbart ändra prio på wprime med 1 tråd förändras inte min prestanda alls, det sker bara förändring vi/tillsammans med ändrad quantum ticks
Med andra ord borde det kunna gå att använda detta på Ryzen som ett sätt att minska antalet trådhopp per sekund och därigenom antalet kommunikationer mellan CCX kluster per sekund. Om jag nu inte tänkt helt åt helvete...

Superduper obs Detta skulle såklart vara till fördel på Ryzen just vid lätt flertrådade applikationer som dessutom sprids ut på alla logiska processorer som exempelvis lätt flertrådade spel, fall där komunikation mellan CCX kluster tvingas fram.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Avstängd

AMD verkar debunka lite diskussioner.

Citat:

We have investigated reports alleging incorrect thread scheduling on the AMD Ryzen™ processor. Based on our findings, AMD believes that the Windows® 10 thread scheduler is operating properly for “Zen,” and we do not presently believe there is an issue with the scheduler adversely utilizing the logical and physical configurations of the architecture.

As an extension of this investigation, we have also reviewed topology logs generated by the Sysinternals Coreinfo utility. We have determined that an outdated version of the application was responsible for originating the incorrect topology data that has been widely reported in the media. Coreinfo v3.31 (or later) will produce the correct results.

Finally, we have reviewed the limited available evidence concerning performance deltas between Windows® 7 and Windows® 10 on the AMD Ryzen™ CPU. We do not believe there is an issue with scheduling differences between the two versions of Windows. Any differences in performance can be more likely attributed to software architecture differences between these OSes.

Going forward, our analysis highlights that there are many applications that already make good use of the cores and threads in Ryzen, and there are other applications that can better utilize the topology and capabilities of our new CPU with some targeted optimizations. These opportunities are already being actively worked via the AMD Ryzen™ dev kit program that has sampled 300+ systems worldwide.

https://community.amd.com/community/gaming/blog/2017/03/13/am...

Visa signatur

R7 3700X | X570 Aorus Master | 32GB | EVGA 1080 Ti FTW3 | Noctua NH-D15S | FD Meshify C Copper
R7 1700 | X370 Gaming-ITX | 16GB | RX Vega 64 LE | Noctua U12S | Node 304
2 x HPE ProLiant Microserver Gen 8 | 1265L V2 | 16GB | 20TB

Permalänk
Medlem

Tyvärr framgick det inte riktigt vad man syftade till, om det var allt prat om SMT problemen som pågått eller om det refererar till hur CCX klustren nyttjas, jag misstänker att AMD menar det tidigare. Skulle såklart kunna vara bägge fallen men jag tror inte det. Speciellt inte eftersom man specifikt nämner den felaktiga sysinternals dumpen orsakat av gammal mjukvara

Skriver som en kråka ikväll...
Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Avstängd
Skrivet av tellus82:

Tyvärr framgick det inte riktigt vad man syftade till, om det var allt prat om SMT problemen som pågått eller om det refererar till hur CCX klustren nyttjas, jag misstänker att AMD menar det tidigare.

Det står om SMT längre ner.

Visa signatur

R7 3700X | X570 Aorus Master | 32GB | EVGA 1080 Ti FTW3 | Noctua NH-D15S | FD Meshify C Copper
R7 1700 | X370 Gaming-ITX | 16GB | RX Vega 64 LE | Noctua U12S | Node 304
2 x HPE ProLiant Microserver Gen 8 | 1265L V2 | 16GB | 20TB

Permalänk
Medlem

@SeF.Typh00n: Och Jeremy Hellstrom på PCPer borde få veckans pris för best nyhetstitel:

https://www.pcper.com/news/General-Tech/AMD-Running-out-Intel...

Citat:

AMD Running out of Intel Sheckels, Renews Contract to Defame Own Products

Jisses, lol

Visa signatur

--
A shark on whiskey is mighty risky, but a shark on beer is a beer engineer.

Permalänk
Avstängd

Jag är lite konfunderad över +20C offset på 1700X och 1800X. Finns det någon som helst anledning till detta?

Skrivet av Pholostan:

@SeF.Typh00n: Och Jeremy Hellstrom på PCPer borde få veckans pris för best nyhetstitel:

https://www.pcper.com/news/General-Tech/AMD-Running-out-Intel...

Jisses, lol

Haha, mycket snygg rubrik

Visa signatur

R7 3700X | X570 Aorus Master | 32GB | EVGA 1080 Ti FTW3 | Noctua NH-D15S | FD Meshify C Copper
R7 1700 | X370 Gaming-ITX | 16GB | RX Vega 64 LE | Noctua U12S | Node 304
2 x HPE ProLiant Microserver Gen 8 | 1265L V2 | 16GB | 20TB

Permalänk
Medlem
Skrivet av tellus82:

En sak som Ryzen ägare skulle kunna prova för att se hur det påverkar prestanda är att justera context switching clock ticks, normalt ligger denna på 2 i klient OS, på server ligger den normalt på 12 men det är inte jättelätt att få fram exakta siffror från MS på detta. Dock kan man ändra från lägst klock ticks till högst tillåtna genom att ändra:
"schemaläggning av processor" under Prestandaalternativ som finns under systemegenskaper. Normalt står denna på Program i win10 klient & på server står den på bakgrundstjänster, skillnaden ligger främst här i hur många klock ticks en tråd hålls kvar innan nästa släpps fram (förutsatt att bägge har samma prio), detta är inte bara bra åt ena eller andra hållet men det skulle vara lite intressant att se om det har någon inverkan på just ryzen när trådar hålls kvar längre vid liv innan nästa väntande tråd får tillträde, detta i sin tur skulle rent teoretiskt kunna sänka trådhoppandet en smula. Av naturliga skäl har det såklart en del negativa effekter också men det vore intressant ur ett rent teoretiskt perspektiv.

Edit: Man kan relativt enkelt prova genom att köra wPrime & en arbetstråd, ett scenario där du får konstant trådhoppande, på min intel burk gav det en negativ prestandaskalning med -0,3% att köra bakgrundstjänster på just wPrime med 1 tråd jämfört med "program". Det borde vara något liknande på de flesta burkar & skulle vara skoj ifall någon kunde prova på en Ryzen setup. Bara och köra ett par rundor & slå ut ett medel, ändra schemaläggarn & köra ett par igen & ta medel.

Jag har tänkt en del på schemaläggningsintervallet också. @Yoshman gav tidigare en beräkning som går ut på att overhead av trådflytt i sammanhanget är liten vid 16ms OS-ticks, men sen noterade jag detta:

Ryzen: Strictly technical #458

Slide 6 i listan, handlar om saker som påverkar powermanagement, dvs mest kända saker som redan diskuterats i tråden. Men jag noterar raden:

Citat:

- Windows 10 timeout intervals
- platform timer resolution 15.6ms default, 1ms games

”Timeout intervals” är väl samma sak som OS ticks? Så Win10 game mode ökar eventklockans upplösning, jag antar för att ge högre responsivitet vilket kan gynna tex FPS-spel online. Jag vet inte hur universellt detta är eller när och hur läget aktiveras. Jag kan ha fel om hur ofta det sparkar in. Men om vi tittar på Yoshmans beräkning igen:

Skrivet av Yoshman:

Anta "worst-case", hela 8 MB L3$ ska fyllas från RAM. Anta att vi kör inom JEDEC-specifikation, d.v.s. DDR4 2400MT.

Det tar då 0,2 millisekunder att fylla cachen från RAM, det är ~1 % av tiden för ett Windows 10 OS-tick.

Så absolut worst-case, d.v.s. alla trådar byter CCX varje OS-tick och inget de jobbar med är samma så ryker alltså ~2 % (i det läget ska 16 MB läsas in då båda CCX måste fylla sin respektive L3$) för att cachen hela tiden måste laddas om. För att det verkligen ska bli 2 % måste det också vara så att CPU-kärnorna inte kan göra någon progress innan L3$ är helt laddad, annars blir förlusten mindre.

Fast ett problem som är så beroende av L3$ skulle ha horribel IPC i alla fall. De flesta desktop-program, inklusive spel, har typiskt 90 % eller mer L1$/L2$-hitrate. Vissa serverlaster kan absolut se rätt låg cache-lokalitet, men de brukar då sällan nå en genomsnittlig IPC över 1,0 (SMT kan i detta läge vara lika effektiv som en "riktig" kärna då det finns massor med back-end resurser ledigt).

Går att mäta både IPC (d.v.s. genomsnittlig antal x86 instruktioner som färdigställs per cykel) och cache-hit-rate på valfritt program med Intel Performance Counter Monitor, har inte koll på om AMD har något liknande men det är nog rätt troligt.

200 ms/ns är 20% overhead i extremfallet. Då är det fortfarande ett extremfall, men lägg en okänd faktor på det iom Ryzens speciella cachestruktur och inter-CCX-kommunikation. Nu tror jag ändå inte att denna aspekt av trådflytt kan ansvara för hela skillnaden mellan Win10 och Win7, men om trådflytt kan ske varje millisekund så är det en magnitudskillnad med en faktor 16 mot ”vanliga” OS-ticks.

Det finns också en del som tyder på att strömsparfunktionerna, som är vad AMDs slide ovan egentligen handlar om (och som är anledningen till att AMD rekommenderar test under High Performance powerscheme), interagerar med schemaläggningen. En skribent från strictly technical-tråden argumenterar för att det inte är schemaläggningsalgoritmen utan Win10s system för core parking som ställer till det, vilken i sin tur förser schemaläggaren med invärden (vilka cores som är tillåtna att schemalägga). Sammanfattat här: https://www.reddit.com/r/Amd/comments/5yonzw/core_parking_and...

Strömsparfunktionerna interagerar alltså med eventtimern, och en högfrekvent sådan kan skapa prestandatapp i anslutning till powermanagement enligt AMDs egna tester (vilka jag antar utförts med 2 CCX aktiva).

Jag undrar därför om någon testat om prestandatappet i Win10 jämfört med Win7 (i förekommande fall) kvarstår vid likvärdig eventtimerupplösning? Har man kontrollerat för detta i de speltester som specifikt jämför Win10 och Win7?

Om eventtimern är boven så skulle det kunna innebära två saker:

  • Att schemaläggarna såväl som strömsparfunktionerna i Win10 och Win7 är precis lika dåliga för Ryzen, men Win10 råkar vara effektivare på att göra sin dåliga grej, då OSet har möjlighet att lägga sig i oftare (varje ms jämfört med var 16e ms).

  • Den lilla men stabila absoluta skillnaden mellan Win7 och Win10 vid 1st CCX kan bero på ett generellt OS overhead till följd av den högfrekventa eventtimern, som kan interagera med processorarkitekturen och därför vara mer utpräglat på vissa processorer (tex Ryzen). Ett generellt prestandafall är att vänta med snabbare OS-events, något vi också ser med lowlatency-kernelinställningar i Linux.

Som vanligt kan min hypotes redan ha uteslutits, då jag inte i primärt följer testerna för spelprestanda i detalj. Jag vet att HPET = off är ett förslag på prestandaoptimering för Ryzen som kom tidigt, och kanske något alla testare redan kör med, så min hypotes kanske redan är falsifierad. Men det är en kandidat på något som skiljer sig systematiskt mellan Win10 och Win7, inte huruvida HPET är aktiverat utan huruvida den ges inflytande över OS (jag förutsätter alltså att HPET=off omöjliggör 1ms upplösning, så körs de relevanta testerna med HPET avstängt så faller min hypotes).

Visa signatur

Här hade jag en historik sen 1990-talet, men den blev tillslut för lång. Aktiva maskiner 2022-framåt:
Work/Play/Everythingstation: AMD Epyc 7443p, Pop OS host, Win10 + Linux guests (KVM/Qemu)
Work/Play nr 2: AMD Phenom II 1090t, Debian + Win 10 (dual boot)
Server x3: Epyc 7252 (TrueNAS Core), Atom 2550 (FreeBSD, backup), Opteron 6140 (Ubuntu, off prem backup)
Retrohörna under uppbyggnad: Dual Pentium Pro 200MHz, Pentium P54C 90MHz, Gravis Ultrasound MAX

Permalänk
Medlem

@Oegat: Som jag förstår det hela så ju kortare intervall på schemaläggaren desto fler gånger per sekund kommer trådar troligen spridas vidare till nästa "lediga" kärna, Detta borde i mitt huvud öka antalet kommunikationer mellan CCX per sekund och därigenom öka latensoverhead lavinartat vid så lågt intervall som 1ms, även om det är då best case 6 ticks så skulle det vara 6ms kontra 12 ms vid 12 i quantum ticks om nu detta fortfarande stämmer i win10, skulle det vara ännu lägre ticks så blir bara problematiken än värre, alltså ännu fler kommunikationer per sekund mellan CCX kluster. Räknar man på 15,6ms så skulle det bli 93,6ms med 6 ticks och 187,2ms med 12 ticks (högsta tid/best case), med andra ord rätt stor skillnad mot 1ms scenariot.

Undrar om det går att få tag i information om hur det är i win10 med just quantum värdet och intervallfrekvensen. Om det är 16ms i win7 och 1ms i win10 så skulle det kanske kunna förklara en hel del av den prestandaskillnad som finns mellan dom på Ryzen, alltså att trådförflyttning sker 16 gånger oftare per sekund på win10 än win7, detta borde inte synas vid flera parallella stora uträkningar men som sagt vid mindre mer seriella uträkningar lär det ge en rätt otrevlig effekt.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Medlem
Skrivet av tellus82:

@Oegat: Som jag förstår det hela så ju kortare intervall på schemaläggaren desto fler gånger per sekund kommer trådar troligen spridas vidare till nästa "lediga" kärna, Detta borde i mitt huvud öka antalet kommunikationer mellan CCX per sekund och därigenom öka latensoverhead lavinartat vid så lågt intervall som 1ms, även om det är då best case 6 ticks så skulle det vara 6ms kontra 12 ms vid 12 i quantum ticks om nu detta fortfarande stämmer i win10, skulle det vara ännu lägre ticks så blir bara problematiken än värre, alltså ännu fler kommunikationer per sekund mellan CCX kluster. Räknar man på 15,6ms så skulle det bli 93,6ms med 6 ticks och 187,2ms med 12 ticks (högsta tid/best case), med andra ord rätt stor skillnad mot 1ms scenariot.

Undrar om det går att få tag i information om hur det är i win10 med just quantum värdet och intervallfrekvensen. Om det är 16ms i win7 och 1ms i win10 så skulle det kanske kunna förklara en hel del av den prestandaskillnad som finns mellan dom på Ryzen, alltså att trådförflyttning sker 16 gånger oftare per sekund på win10 än win7

Absolut är det stor skillnad! Dock räknade Yoshman på det hypotetiska scenariot 1 trådflytt / 16ms tick (inte 16*6), och argumenterade för att bara latenser + fylla L3 från RAM inte ens i det fallet bör innebära signifikant overhead (för en generisk processor). Men nu finns det ju många obekanta variabler när det gäller Ryzen som gör att total overhead vid trådflytt kan bli svår att uppskatta. Oavsett vad som exakt händer så är en faktor 16 i skillnad en siffra att misstänka, när det gäller att förklara prestandaskillnader mellan Win7 och Win10.

Visa signatur

Här hade jag en historik sen 1990-talet, men den blev tillslut för lång. Aktiva maskiner 2022-framåt:
Work/Play/Everythingstation: AMD Epyc 7443p, Pop OS host, Win10 + Linux guests (KVM/Qemu)
Work/Play nr 2: AMD Phenom II 1090t, Debian + Win 10 (dual boot)
Server x3: Epyc 7252 (TrueNAS Core), Atom 2550 (FreeBSD, backup), Opteron 6140 (Ubuntu, off prem backup)
Retrohörna under uppbyggnad: Dual Pentium Pro 200MHz, Pentium P54C 90MHz, Gravis Ultrasound MAX

Permalänk
Medlem

Jag har lite svårt att se fördelen med konstant trådflyttande på moderna processorer faktiskt, speciellt med alla boost lägen och bös borde det väl nästan vara bättre rent generellt att behålla tyngre trådar på samma ställe och kanske sprida ut lättare bakgrundsgrejer på nästa lediga kärna.
En del applikationer gör detta redan genom att kringgå schemaläggarn & sätter egen affinity mask och slipper således trådförflyttning, och naturligtvis är det extremt applikationsberoende/vad som beräknas. Möjligt att en del beräkningar tjänar på trådförflyttning (vet för lite om det)

Skulle vara intressant att förstå just varför man envisas med trådförflyttning som det sker nu. I rent energibesparande syfte kan jag nästan förstå det pga olika power states om man kan behålla alla kärnor i low power läge och ändå nyttja en tråd till 100%, problemet där är väl bara att processorn får konstant ping ponga vilken kärna som behöver snabbaste p state, vilket igen känns lite underligt tillvägagångssätt och jag vet inte om det i slutändan kan spara energi alls, rent teoretiskt borde konstant ändrande av p state suga mer energi än att hålla samma kärna kvar vid högsta p state. Det som i slutända känns mer logiskt är då termisk lastbalansering och att det skulle vara något slags motiv eller att man kanske kan nyttja cache på ett bättre sätt i uträkningar som är väldigt cache beroende (ingen aning hur). Frågan kvarstår dock i alla fall hur mycket man i slutändan tjänar på det hela. Jag tycker att det blir lite som att gå över ån efter vatten, även om man skulle tjäna på det genom cache nyttjande så tycker jag att man borde förlora på det i och med flyttandet av datan som ändå måste ske och de fördröjningar som läggs till genom detta, för en ensam arbetartråd så väntar den förmodligen ändå på sig själv i slutändan.

Jaja, late night ramblings

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Medlem

Här är prestandatest med visual studio
http://www.hardware.fr/articles/956-13/compilation-visual-stu...

Permalänk
Medlem

@Oegat: Hittade just info om att i moderna windows så som win10 så kan varje applikation begära en förändrad resolution timer ända ner till 0,5ms, den är med andra ord flytande/justerbar on the fly. Detta skulle då ge ett möjligt scenario med 0,5ms upplösning, alltså ~32 gånger värre än tidigare trott. Om jag nu inte fattat fel det vill säga. Finns mer att läsa här och här
Windows 8-10 är alltså tick-less/dynamisk tick rate jämfört med win7 där värdet är statiskt.

Här finns ett program att justera timern med manuellt och avläsa aktuell timer tick tid, justering funkar inte på win10 men avläsning funkar.
https://vvvv.org/contribution/windows-system-timer-tool

Dock är vad jag förstår quantum värdet kvar och det är fortfarande en slags multipel på tick rate så vitt jag begriper det hela så tidigare nämnda tweaks borde fortfarande vara aktuella för Ryzen

Edit: provade nyss själv, om jag drar igång spotify & spelar upp musik hamnar jag direkt på 0,5ms på timern med automatik, idlar jag på skrivbordet utan något igång slår det över till 15,625ms. Kör jag igång chrome så landar det på 1ms vid aktivitet i chrome. Lite småkul och se skillnader mellan program, Edge verkar hålla timern mycket mer till 15,625 än något annat men kan dippa till 0,5ms, chrome verkar nästan sätta till 1ms oavsett vad som görs i chrome. Vid spelande ser den ut att hamna på 0,5ms. Med best case skulle det bli 3ms vid 6 q värde och 6ms vid 12. Känns som att detta skulle kunna ha en rätt bra inverkan på prestanda.

Visa signatur

| nVidia RTX3090FE | R9 5950x | MSI x570 Unify | Ballistix sport 3000c15 32GB DR@3800c16 | Custom Loop EKWB | 9TB nvme, 3TB sata SSD | RM1000x | Creative X4 | Lian Li o11 Dynamic | Alienware aw3821dw | >Zen2 på 3-400 mobo< | >x570 VRM< | :::AMD Zen Minnesguide:::|:::AMD Zen & Zen+ Överklockningsguide:::

Permalänk
Medlem

Dags att förtydliga samt korrigera lite av mina tidigare inlägg. Windows kastar runt trådar mellan olika CCX oavsett, och det tillsammans med en felaktig version utav Sysinternals Coreinfo som gav två möjliga versioner förklarar en hel del, men inte det konstiga beteendet som vi ser i Win10. Jag var tidigt väldigt misstänktsam om att Core Parking kommer spöka till det för Zen:

#16546751

Power plans i Windows gör ändringar här, men jag litar inte på dom fullt ut. Man kan se att det är en jäkla skillnad med det avslaget och jag tipsade även SweClockers redaktion om detta redan i Nov-Dec:

Detta tillsammans med HPET och att Win10 verkar ha problem med Ryzen's .25 multiplar verkar orsaka en del problem med ticrate/sync.

Bitarna börjar falla på plats och det är givetvis något som jobbas på.

Hurvida prestanda försämras mellan CCX i Win7 är åter intressant då det kan vara en egen faktor i sig. Sitter moderkortslös för tillfället, annars hade jag kunnat göra alla dessa tester själv

Att köra Ryzen som 2x xUMA noder hade kunnat fungera, men en eftertanke är hur minneshanteringen hade blivit då minneskontrollern i Zen då måste kunna operera i så kallat un-ganged mode, och bandbredden i Infinity Fabric är statiskt partitionerad och täcker per partition vad jag kan se inte bandbredden som hade krävts.

CPUID (APIC) flaggar också till OS hur en processor identifieras och till Linux så har det kommit en patch för att identifiera detta på korrekt sätt. Är osäker på om Windows har fått en liknande uppdatering, men här är den till Linux:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linu...

if (cpuid_edx(0x80000006)) { if (c->x86 == 0x17) { /* * LLC is at the core complex level. * Core complex id is ApicId[3]. */ per_cpu(cpu_llc_id, cpu) = c->apicid >> 3; } else { /* LLC is at the node level. */ per_cpu(cpu_llc_id, cpu) = node_id; } }

Som man ser ovan så tar man hänsyn till CCX.

Är dock helt övertygad om att samtliga av detta problem löser sig oavsett och vi ser hur mycket potential som håller undan Ryzen i en del spel för tillfället, så det bådar gott. Det är inte som vissa försöker få det att låta som, att "arkitekturen underpresterar i spel". Zen har alla arkitektoniska egenskaper för just en grym spel-cpu, det såg vi på testet där man simulerade en Ryzen 5 quad genom att stänga av en CCX (vilket eliminerar nuvarande problem i Win10), och jämförde den mot en 7700K i samma frekvens (4GHz):

TEST

https://www.youtube.com/watch?v=i7u1rVcTA-Q

Visa signatur

[ AMD 7800X3D // EK-Block @ custom loop, 2x420mm ][ MSI B650 Tomahawk ][ 32GB G.Skill Z5 Neo @ DDR6000 CL28 1T ][ AMD 7900XTX @ custom loop ][ Corsair 750D // Corsair RM1000X ][ 2TB Samsung 990PRO M.2 SSD ][ Win10 PRO x64 ][ LG 34GN850 ]

Permalänk
Medlem
Skrivet av Enigma:

Zen har alla arkitektoniska egenskaper för just en grym spel-cpu, det såg vi på testet där man simulerade en Ryzen 5 quad genom att stänga av en CCX (vilket eliminerar nuvarande problem i Win10), och jämförde den mot en 7700K i samma frekvens (4GHz):

Så för att summera det så är AMDs bästa gaming CPU den sämsta Ryzen överclockad med hälften av kärnorna avstängda, lol.

Permalänk
Medlem
Skrivet av tellus82:

@Oegat: Hittade just info om att i moderna windows så som win10 så kan varje applikation begära en förändrad resolution timer ända ner till 0,5ms, den är med andra ord flytande/justerbar on the fly. Detta skulle då ge ett möjligt scenario med 0,5ms upplösning, alltså ~32 gånger värre än tidigare trott. Om jag nu inte fattat fel det vill säga. Finns mer att läsa här och här
Windows 8-10 är alltså tick-less/dynamisk tick rate jämfört med win7 där värdet är statiskt.

Här finns ett program att justera timern med manuellt och avläsa aktuell timer tick tid, justering funkar inte på win10 men avläsning funkar.
https://vvvv.org/contribution/windows-system-timer-tool

Dock är vad jag förstår quantum värdet kvar och det är fortfarande en slags multipel på tick rate så vitt jag begriper det hela så tidigare nämnda tweaks borde fortfarande vara aktuella för Ryzen

Edit: provade nyss själv, om jag drar igång spotify & spelar upp musik hamnar jag direkt på 0,5ms på timern med automatik, idlar jag på skrivbordet utan något igång slår det över till 15,625ms. Kör jag igång chrome så landar det på 1ms vid aktivitet i chrome. Lite småkul och se skillnader mellan program, Edge verkar hålla timern mycket mer till 15,625 än något annat men kan dippa till 0,5ms, chrome verkar nästan sätta till 1ms oavsett vad som görs i chrome. Vid spelande ser den ut att hamna på 0,5ms. Med best case skulle det bli 3ms vid 6 q värde och 6ms vid 12. Känns som att detta skulle kunna ha en rätt bra inverkan på prestanda.

Intressant! Om det är timern borde vi alltså se samma prestandaprofil för Ryzen i win8 som i win10, och det räcker med att ett program som körs tycker att det ska ha hög timer för att hela systemet ska få det. Men är denna siffra relaterad till HPET-inställningen i bios alls? Jag trodde HPET var fix på 1000Hz men här går det uppenbarligen att ha en eventfrekvens på 2000Hz (0.5ms). Det skulle kunna betyda att det är någon annan klocka som används och att HPET är oskyldig, men det verkar också lite underligt. Det låter i vilket fall som att ett tredjepartsprogram som forcerar timern globalt likt det du länkar hade varit användbart i win10, åtminstone för de spel som inte har stor nytta av hög inputprecision.

Skrivet av Enigma:

Dags att förtydliga samt korrigera lite av mina tidigare inlägg. Windows kastar runt trådar mellan olika CCX oavsett, och det tillsammans med en felaktig version utav Sysinternals Coreinfo som gav två möjliga versioner förklarar en hel del, men inte det konstiga beteendet som vi ser i Win10. Jag var tidigt väldigt misstänktsam om att Core Parking kommer spöka till det för Zen:

#16546751

Power plans i Windows gör ändringar här, men jag litar inte på dom fullt ut. Man kan se att det är en jäkla skillnad med det avslaget och jag tipsade även SweClockers redaktion om detta redan i Nov-Dec:

http://www.hardware.fr/getgraphimg.php?id=449&n=6
http://www.hardware.fr/getgraphimg.php?id=449&n=5
http://www.hardware.fr/getgraphimg.php?id=449&n=7
http://www.hardware.fr/getgraphimg.php?id=449&n=3

Detta tillsammans med HPET och att Win10 verkar ha problem med Ryzen's .25 multiplar verkar orsaka en del problem med ticrate/sync.

Bitarna börjar falla på plats och det är givetvis något som jobbas på.

Hurvida prestanda försämras mellan CCX i Win7 är åter intressant då det kan vara en egen faktor i sig. Sitter moderkortslös för tillfället, annars hade jag kunnat göra alla dessa tester själv

[...]

Då låter det som att nästa test som det vore intressant att se är om skillnaden mellan win10 och win7 vid 2CCX försvinner då core parking specifikt stängs av i 10. För att svara på frågan om detta är samma problem eller ett annat.

Visa signatur

Här hade jag en historik sen 1990-talet, men den blev tillslut för lång. Aktiva maskiner 2022-framåt:
Work/Play/Everythingstation: AMD Epyc 7443p, Pop OS host, Win10 + Linux guests (KVM/Qemu)
Work/Play nr 2: AMD Phenom II 1090t, Debian + Win 10 (dual boot)
Server x3: Epyc 7252 (TrueNAS Core), Atom 2550 (FreeBSD, backup), Opteron 6140 (Ubuntu, off prem backup)
Retrohörna under uppbyggnad: Dual Pentium Pro 200MHz, Pentium P54C 90MHz, Gravis Ultrasound MAX