AMD Ryzen Threadripper – samlingstråd

Permalänk
Medlem
Skrivet av sAAb:

Tittat man på absolutvärden för de sju mätvärden som ger bäst ökning (föregående inlägg) för båda processor-familjerna så är de:

MULTI

1 Xeon E5-2670

2 Xeon E5-2670

Ryzen 1700

Threadripper

i7-7820X

Face Detection (Msubwindows/sec)

7,29

12,30

10,10

21,70

12,00

LLVM (functions/sec)

2,62

4,44

3,38

5,17

4,69

Lua (MB/sec)

21,70

41,00

28,00

53,00

37,70

LZMA MB/sec)

47,30

79,60

50,10

73,10

62,00

N-Body Physics (Mpairs/sec)

15,20

29,90

27,50

59,00

31,60

SFFT (Gflops)

57,30

115,80

62,00

138,70

159,80

SQLite (Krows/sec)

0,7007

1,1800

0,7047

1,4900

1,0800

Nu vet jag inte hur gamla dessa Xeon är (det står Sandy Bridge) men lite krut verkar det ju vara i Threadripper.

EDIT: Jag lade till i7-7820X för att få en modern 8-kärnig från Intel.

Just det, testerna kan vara autentiska, allt beror på vad man skall köra för program. För en typisk hemmaanvändare gör extrem multicore föga nytta idag. Men för den som har ovan specifika behov kan det ge ett stort prestandalyft i rätt program.

Som typisk hemmaanvändare av en hemmadator ser det ut som att inget bör inhandlas innan Coffee Lake har presenterats.

Skickades från m.sweclockers.com

Visa signatur

|| R9 7950X MSI PRO X670-P WIFI 32GB-DDR5-6400c32 MSI RTX4080 Ventus 3X OC || CORE i9 12900KF MSI Z690 Tomahawk WIFI DDR4 32GB-3600c16 Gear1 TUF RTX3080 OC V2 || R7 5800X3D X570S CH8 Extreme 32GB-3800c18 Gigabyte RTX3080 GAMING OC || R9 5900X(B2) B550-F 32GB-3800c18 EVGA RTX3070 FTW Ultra || R9 3900X X470-Prime Pro 32GB-3200c16 MSI RTX2070 Super ||

Permalänk
Medlem
Skrivet av Yoshman:

Det mest specifika för Threadripper är att det handlar om ett NUMA-system. Det kommer ge resultat som många kommer tycka är "fel". Har man däremot använt dual-socket system ihop med desktopprogramvara är det däremot helt naturligt.

Jämför här 1800X vs 1950X mot single socket Xeon E5-2670 och dual-socket Xeon E5-2670.

Finns väldigt lite som pekar på att 1950X resultatet är fake. Totalvärdet Geekbench ger (alla versioner) är värdelöst, däremot är de flesta deltesterna i just Geekbench 4 hyfsat användbara så ska man använda GB4 till något måste man ha resultatet för varje deltest.

Notera att även single/dual-socket Xeon E5-2670 har delfall för flertrådat där resultat är lägre med dubbelt så många kärnor. Det är helt förväntat om man förstår begränsningarna med NUMA, är rätt bra samstämmighet kring vilka deltester som har problem på Threadripper och dual-socket Xeon!

Redan tidigare var det väldigt viktigt att förstå de arbetslaster man själv jobbar med för att kunna välja "rätt" CPU. Under 2017 har detta blivit långt mycket viktigare.

Kör man Cinebench, rendering (final render), byggserver eller något annat där man i praktiken kör massor med egentligen enkeltrådade fall parallellt så är NUMA ett icke-problem (det kan till och med vara en fördel med dual-socket då det är enklare att kyla så man kan få högre absolut kapacitet).

Kör man spel, parallelliserar ett enskilt problem med t.ex. fork-join eller något annat där många trådar används men man har i grunden ett problem som ska lösas så det kommer finnas kommunikation mellan CPU-kärnor är NUMA ett riktigt "no-no" (det kommer i bästa fall inte bli långsammare, men tyvärr är det rätt ofta utfallet så första steget i att göra sitt program "NUMA-aware" är att se till att begränsa antalet trådar så man håller sig på en NUMA-zon).

Det senare fallet är något jag jobbat med under många år. Har även utvecklat ett par nya varianter av synkroniseringsmekanismer, allt kring detta handlar om att "vara snäll mot CPU-cache". En liten provsmakning kring vad som spelar roll här borde folk fått nu med Ryzen och SKL-X släppet. Intels S-serie är den klart enklaste designen att jobba med här. Spel var liksom inte optimerade för Intel, de har ett användarmönster som passar den cache-designen bäst (och det gäller alla program där trådar måste synkronisera med varandra).

SKL-X och Ryzen påminner mer om varandra i cache design, båda får också likartade problem i just spel. De är dock inte helt identisk för den här typen av problem gäller SKL-S > Ryzen CCX > SKL-X > Ryzen cross CCX > Threadripper/Intel dual-socket cross NUMA.

Jag inser inte att Geekbench är mycket sämre än andra komposita bänkmärken. Några av Geekbenchs deltester beskrivs i http://geekbench.com/doc/geekbench4-cpu-workloads.pdf och vad vi kunde se igår så ger de halvt rimliga värden för både harmoniskt medelvärde och median. Men, självklart ger deltester en bredare bild. Men, är bara medveten om det så ser jag inga problem; jag var ju inte medveten själv.

Här testar jag reliabiliteten av NUMA-effekten på data från Geekbench, om den är reproducerbar över fler olika processor-typer. Jag har valt ut NUMA/icke-NUMA-processorer som är samtida motsvarighet med äkta antal kärnor. Jag jämför med hyperthreading för att se skillnaden. Det finns både likheter och skillnader. Det jag testat är

Man kan här betrakta Q6600 som NUMA-variant av E6600 på samma sätt som dual Intel Xeon E5-2670 och Threadripper är dubbleringar av antalet kärnor (och trådar). Hypterthreading är ju också en dubblering av antalet trådar varför i5-7600K och i7-7700K också fick vara med. Allt har ställts relativt i7-7700K i procent. I det tredje diagrammet så ser vi NUMA/HT ställt mot sin enklare variant med halva antalet trådar, enligt ovan.

Geekbench 4 single-core relativt i7-7700K

Dold text

Geekbench 4 multi-core relativt i7-7700K

Dold text

Geekbench 4 multi-core effekt av NUMA och HT

Dold text

Man ser att dubbla Xeon och Threadripper beter sig väldigt lika i nästan samtliga benchmarks och att NUMA-effekten finns där. Däremot är den inte alls lika påtaglig, om den ens finns i Q6600 jämfört med E6600! Var man bättre förr, eller förvärras det med än flera kärnor (Amdahl/Gustafson)? Hyperthreading ger säkert en boost, som eventuellt drunknat här då i5-7600K har 3800 Mhz och i7-4200 MHz; jag hittade ingen med samma klocka. Det förklarar sannolikt varför det är så jämn förbättring, det är frekvensskillnaden vi ser.

Okej, jag måste tänka över allt det här flera gånger till, och basera ett inköp på publicerade tester, på än fler tester. Var går gränser för hur mycket information man behöver?!

EDIT: Glömde säga att jag inverterat latenserna för att högre värden skall anses bättre.

EDIT 2: Såg på https://hothardware.com/news/amd-ryzen-threadripper-1950x-16-... att man hade använt DDR4 2400 MHz för Threadripper. Vi vet sedan tidigare att Ryzen vinner mycket på snabbare minnen tack vare Infinity Fabric. Det kan säkert påverka till det positiva på många av deltesterna i Geekbench 4.

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

Det kommer fler och fler läckor.

Som säkert en del av er har sett så har det släppts resultat från SiSoft Sandra, ett annat komposit bänkmärke som ger en (1) siffra för allt möjligt.

Från https://hothardware.com/news/amd-ryzen-threadripper-1950x-16-...

Threadripper

Dold text

Top 16 i databasen http://ranker.sisoftware.net

Dold text

Så långt ser det ju bra ut. Threadripper är rejält högre i "GOPS" än både i9-7900X och i7-6950X.

Men, den där jäveln är väl i detaljerna här åxå, men dessa saknas ju än.

EDIT: Jo, en detalj fanns ju och det var att resultaten för Threadripper var överklockade till drygt 3,9 GHz! Det går alltså överklocka! 431 GOPS för Threadripper på 3,9 GHz mot 336 GOPS för i9-7900K på 4,3 GHz. Nästa steg bli att tolka vad GOPS (GigaOperationsPerSecond) är här... och vilka deltester det är uppbyggt av samt är ett mått på. Där tror jag inte att man kan komma mycket längre just nu.

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

Ju mer jag tänker på det verkar det vettigaste att vänta på Cannonlake, då får man i alla fall en ny tillverkningsprocess med bättre egenskaper rent allmänt, så samma gamla datorer får tugga på för mig fram till runt Maj 2018 verkar det som ...

Visa signatur

|| R9 7950X MSI PRO X670-P WIFI 32GB-DDR5-6400c32 MSI RTX4080 Ventus 3X OC || CORE i9 12900KF MSI Z690 Tomahawk WIFI DDR4 32GB-3600c16 Gear1 TUF RTX3080 OC V2 || R7 5800X3D X570S CH8 Extreme 32GB-3800c18 Gigabyte RTX3080 GAMING OC || R9 5900X(B2) B550-F 32GB-3800c18 EVGA RTX3070 FTW Ultra || R9 3900X X470-Prime Pro 32GB-3200c16 MSI RTX2070 Super ||

Permalänk
Medlem
Skrivet av the squonk:

Ju mer jag tänker på det verkar det vettigaste att vänta på Cannonlake, då får man i alla fall en ny tillverkningsprocess med bättre egenskaper rent allmänt, så samma gamla datorer får tugga på för mig fram till runt Maj 2018 verkar det som ...

Kan man vänta så är det ju alltid ett alternativ. Framtiden är inte vad den har varit.

Här är 11 stycken Ryzen 1800X ställda mot en Threadripper och alla relativt i7-7820X.

Single-core

Dold text

Multi-core

Dold text

Det man ser är att det är att i7-7820X är snabbare i de flesta av single-core men att Ryzen 1800X är snabbare i de flesta multi-core deltesterna.

Det finns däremot stor variation bland enskilda 1800X som kan beror på minnen och klockning och andra parametrar, kanske främst i multi-core. 1800X-4, 1800X-9 och 1800X-10 är överklockade (3,9-4,1 GHz) men det syns tydligast på 1800X-4 som dessutom är den enda som kör Linux.

Threadripper är väldigt lik 1800X här, och vinner ett antal, där förväntat. Som @Yoshman sade, kanske färre än vad många önskar.

Man kan hoppas att det här är något tidigt exemplar där förbättringar syns bättre senare.

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

Här förklarar man varför Epyc (och därmed Threadripper) använder en NUMA--lösning med Infinty Fabric

https://youtu.be/aokgkxHJVYQ

Skickades från m.sweclockers.com

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
Datavetare
Skrivet av sAAb:

Jag inser inte att Geekbench är mycket sämre än andra komposita bänkmärken. Några av Geekbenchs deltester beskrivs i http://geekbench.com/doc/geekbench4-cpu-workloads.pdf och vad vi kunde se igår så ger de halvt rimliga värden för både harmoniskt medelvärde och median. Men, självklart ger deltester en bredare bild. Men, är bara medveten om det så ser jag inga problem; jag var ju inte medveten själv.

Geekbench 4 är ett klart fall framåt jämfört med tidigare versioner sett till vilka deltester man har med.

Problemet med det geometriska medel man beräknar är att det blir hopplöst att tolka den siffran på något sätt då GB4 innehåller väldigt olika typer av arbetslaster.

Att det är många olika typer av arbetslaster är ju verkligen tummen upp. För att ha någon nytta av den informationen måste man dock jämföra specifika tester, för om jag tänker använda min CPU till applikationer som löser ett specifikt problem med många CPU-trådar där grundproblemet inte skalar perfekt är ju testresultatet från t.ex. AES, LLVM och "Rigid Body Physics" totalt irrelevanta.

Ett stort grundproblem kvarstår dock med Geekbench 4: tummen upp för deras initiativ att skriva sitt whitepaper som kort beskriver vad alla tester gör (det dokument du länkar till). En stor tumme ned för att beskrivningarna överhuvudtaget inte beskriver hur man parallelliserat problemet i multi-tråd testerna samt nästan totalt avsaknad av vilka algoritmer som används.

Ta PDF-testet, man skapar ett PDF-dokument. Fine, men hur ser arbetslasten ut? I vissa fall är algoritmen uppenbar, t.ex. Dijkstra, SGEMM, SFFT och "Histogram Equalization", det förutsatt att man själv jobbat med fall där dessa används.

Just Dijkstra (används t.ex. av GPS-system och även spel för att beräkna optimala vägen mellan två geografiska punkter) kan nog fungera som hyfsad proxy för "problemet som har viss skalbarhet med CPU-kärnor". Men man ska inte övertolka resultatet, finns trots allt en rad saker som kan skilja sig i andra problem som råkar vara lika på just punkten "skalning med CPU-kärnor".

Skrivet av sAAb:

Här testar jag reliabiliteten av NUMA-effekten på data från Geekbench, om den är reproducerbar över fler olika processor-typer. Jag har valt ut NUMA/icke-NUMA-processorer som är samtida motsvarighet med äkta antal kärnor. Jag jämför med hyperthreading för att se skillnaden. Det finns både likheter och skillnader. Det jag testat är

Man kan här betrakta Q6600 som NUMA-variant av E6600 på samma sätt som dual Intel Xeon E5-2670 och Threadripper är dubbleringar av antalet kärnor (och trådar). Hypterthreading är ju också en dubblering av antalet trådar varför i5-7600K och i7-7700K också fick vara med. Allt har ställts relativt i7-7700K i procent. I det tredje diagrammet så ser vi NUMA/HT ställt mot sin enklare variant med halva antalet trådar, enligt ovan.

Geekbench 4 single-core relativt i7-7700K

Geekbench 4 multi-core relativt i7-7700K

Geekbench 4 multi-core effekt av NUMA och HT

Man ser att dubbla Xeon och Threadripper beter sig väldigt lika i nästan samtliga benchmarks och att NUMA-effekten finns där. Däremot är den inte alls lika påtaglig, om den ens finns i Q6600 jämfört med E6600! Var man bättre förr, eller förvärras det med än flera kärnor (Amdahl/Gustafson)? Hyperthreading ger säkert en boost, som eventuellt drunknat här då i5-7600K har 3800 Mhz och i7-4200 MHz; jag hittade ingen med samma klocka. Det förklarar sannolikt varför det är så jämn förbättring, det är frekvensskillnaden vi ser.

Okej, jag måste tänka över allt det här flera gånger till, och basera ett inköp på publicerade tester, på än fler tester. Var går gränser för hur mycket information man behöver?!

EDIT: Glömde säga att jag inverterat latenserna för att högre värden skall anses bättre.

EDIT 2: Såg på https://hothardware.com/news/amd-ryzen-threadripper-1950x-16-... att man hade använt DDR4 2400 MHz för Threadripper. Vi vet sedan tidigare att Ryzen vinner mycket på snabbare minnen tack vare Infinity Fabric. Det kan säkert påverka till det positiva på många av deltesterna i Geekbench 4.

C2Q är inte NUMA! Den är inte en symmetrisk quad-core design, men det är fortfarande ett UMA-system (Uniform Memory Architecture) och inte NUMA (Non-Uniform Memory Architecture). Alla CPU-kärnor har samma kostnad mot all RAM, C2Q designen är betydligt mer jämförbar med två CCX.

R5-1400/1500X och C2Q är ur den aspekten lika, båda består av två st dual-core komponenter som delar RAM-buss men som inte delar någon nivå CPU-cache.

NUMA inför en långt starkare form av asymmetri, men om du tittar på t.ex. Dijkstra resultatet ser man att C2Q skalar något sämre än en helt symmetrisk design. Rent praktiskt är nog effekten runt en tiopotens större mellan NUMA-noder.

Ett fall med relativt låg cache-hit rate där alla kärnor använder RAM från alla NUMA-noder skulle uppföra sig väldigt mycket värre på ett system med mer än en NUMA-nod jämfört med C2Q och Ryzen. I de två senare fallen må det finnas två cache-öar, men det är fortfarande bara en RAM-ö!

Skrivet av sAAb:

Kan man vänta så är det ju alltid ett alternativ. Framtiden är inte vad den har varit.

Här är 11 stycken Ryzen 1800X ställda mot en Threadripper och alla relativt i7-7820X.

Single-core

Multi-core

Det man ser är att det är att i7-7820X är snabbare i de flesta av single-core men att Ryzen 1800X är snabbare i de flesta multi-core deltesterna.

Det finns däremot stor variation bland enskilda 1800X som kan beror på minnen och klockning och andra parametrar, kanske främst i multi-core. 1800X-4, 1800X-9 och 1800X-10 är överklockade (3,9-4,1 GHz) men det syns tydligast på 1800X-4 som dessutom är den enda som kör Linux.

Threadripper är väldigt lik 1800X här, och vinner ett antal, där förväntat. Som @Yoshman sade, kanske färre än vad många önskar.

Man kan hoppas att det här är något tidigt exemplar där förbättringar syns bättre senare.

Gissar att något blivit vänt åt fel håll i din multi-thread graf. i7-7820X verkar faktiskt öka sin ledning över R7-1800X i multitrådfallet i (geometrisk) genomsnitt.

Tittade på några fall och i det enkeltrådade fallet ligger i7-7820X ~20 % före i enkeltrådprestanda och ~50 % före i multitrådprestanda (det då enligt GB4 aggregerade resultat).

BTW: hur tar du in data från GB-databasen in i det du gör graferna med (gissar det är R...)? Inte manuellt hoppas jag! Har ett AWK-skript som givet resultat ID printar namnet på deltesterna, ST-resultat och MT-resultat.

Ex (Edit: den som vill ha skriptet kan skicka PM)

Tar CPU-namnet som argument, vill kunna styra själv hur modellen namnges.

$ gb4cat.sh 3356333 | awk -f gb4.awk - CPU=R7-1800X --2017-07-09 16:09:49-- https://browser.primatelabs.com/v4/cpu/3356333 Resolving browser.primatelabs.com (browser.primatelabs.com)... 23.92.21.41 Connecting to browser.primatelabs.com (browser.primatelabs.com)|23.92.21.41|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: ‘3356333’ 3356333 [ <=> ] 26.08K --.-KB/s in 0s 2017-07-09 16:09:50 (114 MB/s) - ‘3356333’ saved [26707] CPU model: AMD Ryzen 7 1800X @ 3.60 GHz R7-1800X, AES, 5981, 17341 R7-1800X, LZMA, 4634, 30406 R7-1800X, JPEG, 4266, 30550 R7-1800X, Canny, 4593, 23433 R7-1800X, Lua, 3041, 24416 R7-1800X, Dijkstra, 4476, 18457 R7-1800X, SQLite, 3776, 27112 R7-1800X, HTML5 Parse, 3435, 22140 R7-1800X, HTML5 DOM, 5050, 32704 R7-1800X, Histogram Equalization, 3758, 19404 R7-1800X, PDF Rendering, 4135, 15642 R7-1800X, LLVM, 6266, 41403 R7-1800X, Camera, 4822, 27168 R7-1800X, SGEMM, 2502, 8442 R7-1800X, SFFT, 3657, 20254 R7-1800X, N-Body Physics, 4262, 32139 R7-1800X, Ray Tracing, 4304, 20971 R7-1800X, Rigid Body Physics, 4266, 32118 R7-1800X, HDR, 4457, 29533 R7-1800X, Gaussian Blur, 5094, 21726 R7-1800X, Speech Recognition, 5011, 21015 R7-1800X, Face Detection, 4687, 29458

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
Medlem

Någon kunnig som vet hur de gör för att Döpa om en cpu

En är en ryzen men frågan är vad den andra cpun är för någon?

Skrivet av Ratatosk:

Ser man på Intel Ryzen får bättre resultat i Compubench än AMD Ryzen.

https://forum.beyond3d.com/posts/1990528/

Visa signatur

Ryzen 5800X ROG STRIX X570-f GAMING FlareX DDR43600 cl 14-14-14-34 EVGA FTW3 Ultra RTX 3090

Permalänk
Hjälpsam
Skrivet av sesese:

Någon kunnig som vet hur de gör för att Döpa om en cpu

En är en ryzen men frågan är vad den andra cpun är för någon?

3D Beoynd var inne på att "Intel"maskinen var virtualiserad.
De startade alltså en virtuell maskin under en Ryzen 1700x och döpte den till Intel 1700x.

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
Datavetare
Skrivet av Ratatosk:

3D Beoynd var inne på att "Intel"maskinen var virtualiserad.
De startade alltså en virtuell maskin under en Ryzen 1700x och döpte den till Intel 1700x.

Tror du inte en mycket enklare förklaring är att man kör Ryzen fast med Intels OpenCL implementation?

Tittar man på "Info" tabben för "Intel® Ryzen 7 1700X Eight-Core Processor" resultatet ser man bl.a. dessa två fält

System: AMD Ryzen 7 1700X Eight-Core Processor (d.v.s. här står det AMD Ryzen...)
CL_DEVICE_VENDOR: Intel® Corporation

Tittar man däremot på det andra fallet, det som säger "AMD Ryzen 7 1700X Eight-Core Processor" så ser man
CL_DEVICE_VENDOR: AuthenticAMD

Intel har lagt en hel del krut på OpenCL stödet, både för iGPU och CPU. När jag gjorde lite jämförelser mellan Nvidia 750M, HD4600 och i7-4702HQ (d.v.s. på en 2013 års Dell XPS15) presterade ofta iGPU och CPU ungefär lika (men CPU-delen var oftast snabbast) medan 750M fick sämre resultat (trots långt högre teoretisk flyttalsprestanda för single precision). Nu verkar i.o.f.s. Nvidia skita rätt mycket i OpenCL, prestanda är långt bättre med CUDA...

När man kör Intels OpenCL paket för CPU kommer koden typiskt bli väldigt optimerad med AVX2+FMA (Ryzen stödjer båda dessa), teoretisk prestanda är faktiskt rätt hög i moderna CPUer om de kan utnyttja dessa tekniker fullt ut.

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
Skrivet av Yoshman:

Tror du inte en mycket enklare förklaring är att man kör Ryzen fast med Intels OpenCL implementation?

Tittar man på "Info" tabben för "Intel® Ryzen 7 1700X Eight-Core Processor" resultatet ser man bl.a. dessa två fält

System: AMD Ryzen 7 1700X Eight-Core Processor (d.v.s. här står det AMD Ryzen...)
CL_DEVICE_VENDOR: Intel® Corporation

Tittar man däremot på det andra fallet, det som säger "AMD Ryzen 7 1700X Eight-Core Processor" så ser man
CL_DEVICE_VENDOR: AuthenticAMD

Intel har lagt en hel del krut på OpenCL stödet, både för iGPU och CPU. När jag gjorde lite jämförelser mellan Nvidia 750M, HD4600 och i7-4702HQ (d.v.s. på en 2013 års Dell XPS15) presterade ofta iGPU och CPU ungefär lika (men CPU-delen var oftast snabbast) medan 750M fick sämre resultat (trots långt högre teoretisk flyttalsprestanda för single precision). Nu verkar i.o.f.s. Nvidia skita rätt mycket i OpenCL, prestanda är långt bättre med CUDA...

När man kör Intels OpenCL paket för CPU kommer koden typiskt bli väldigt optimerad med AVX2+FMA (Ryzen stödjer båda dessa), teoretisk prestanda är faktiskt rätt hög i moderna CPUer om de kan utnyttja dessa tekniker fullt ut.

Menar du att man kan döpa om intel filen så den funkar på en AMD CPU och få betydligt bättre openCL prestanda? Skillnaden är om det stämmer extremt stora mellan Intels och AMDs program för OpenCL

Visa signatur

Ryzen 5800X ROG STRIX X570-f GAMING FlareX DDR43600 cl 14-14-14-34 EVGA FTW3 Ultra RTX 3090

Permalänk
Datavetare
Skrivet av sesese:

Menar du att man kan döpa om intel filen så den funkar på en AMD CPU och få betydligt bättre openCL prestanda?

Finns ingen anledning att döpa om något. OpenCL är en "runtime" vars uppgift är att översätta OpenCL-kod till maskinkod för underliggande HW. Det är lite som en kompilator, fast den körs av en applikation. Shaders för GPUer fungerar på i stort sätt exakt samma sätt, d.v.s. shader-kod är generell och respektive drivare översätter ("kompilerar") den koden till GPU-maskinkod.

I fallet x86 är underliggande HW x86-assembler, i praktiken används väldigt mycket SIMD, d.v.s. SSE/AVX. Intels OpenCL implementation kolla vad CPUn implementera i form av SIMD och anpassar den genererade koden efter vad som är möjligt. Så på Atom skulle det bli SSE4, Sandy Bridge AVX och Skylake X AVX512+FMA.

Gör man samma sak på Ryzen kommer CPUn säga: jag stödjer AVX2+FMA, det är samma som Haswell, Broadwell och Skylake S/U/Y/H så inga konstigheter (ur programvarans synvinkel). Om det inte finns en explicit spärr för att Intels OpenCL implementation kräver just en Intel CPU så kommer det fungera även på Ryzen.

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 Yoshman:

Tror du inte en mycket enklare förklaring är att man kör Ryzen fast med Intels OpenCL implementation?

Tittar man på "Info" tabben för "Intel® Ryzen 7 1700X Eight-Core Processor" resultatet ser man bl.a. dessa två fält

System: AMD Ryzen 7 1700X Eight-Core Processor (d.v.s. här står det AMD Ryzen...)
CL_DEVICE_VENDOR: Intel® Corporation

Tittar man däremot på det andra fallet, det som säger "AMD Ryzen 7 1700X Eight-Core Processor" så ser man
CL_DEVICE_VENDOR: AuthenticAMD

Intel har lagt en hel del krut på OpenCL stödet, både för iGPU och CPU. När jag gjorde lite jämförelser mellan Nvidia 750M, HD4600 och i7-4702HQ (d.v.s. på en 2013 års Dell XPS15) presterade ofta iGPU och CPU ungefär lika (men CPU-delen var oftast snabbast) medan 750M fick sämre resultat (trots långt högre teoretisk flyttalsprestanda för single precision). Nu verkar i.o.f.s. Nvidia skita rätt mycket i OpenCL, prestanda är långt bättre med CUDA...

När man kör Intels OpenCL paket för CPU kommer koden typiskt bli väldigt optimerad med AVX2+FMA (Ryzen stödjer båda dessa), teoretisk prestanda är faktiskt rätt hög i moderna CPUer om de kan utnyttja dessa tekniker fullt ut.

Verkar som du har rätt.
Även om din förklaring verkar troligare, är den inte lika skojig.

edit Fast det som talar för en VM är att "Intel Ryzen" saknar benchmarks av grafikkortet.

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
Hjälpsam

Epyc 16 kärnor kostar från 7100 kr.
Verkar lovande för TR:s priser.
http://www.sweclockers.com/nyhet/24116-amd-epyc-listas-pa-pri...

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
Skrivet av Yoshman:

Geekbench 4 är ett klart fall framåt jämfört med tidigare versioner sett till vilka deltester man har med.

Problemet med det geometriska medel man beräknar är att det blir hopplöst att tolka den siffran på något sätt då GB4 innehåller väldigt olika typer av arbetslaster.

Att det är många olika typer av arbetslaster är ju verkligen tummen upp. För att ha någon nytta av den informationen måste man dock jämföra specifika tester, för om jag tänker använda min CPU till applikationer som löser ett specifikt problem med många CPU-trådar där grundproblemet inte skalar perfekt är ju testresultatet från t.ex. AES, LLVM och "Rigid Body Physics" totalt irrelevanta.

Ett stort grundproblem kvarstår dock med Geekbench 4: tummen upp för deras initiativ att skriva sitt whitepaper som kort beskriver vad alla tester gör (det dokument du länkar till). En stor tumme ned för att beskrivningarna överhuvudtaget inte beskriver hur man parallelliserat problemet i multi-tråd testerna samt nästan totalt avsaknad av vilka algoritmer som används.

Ta PDF-testet, man skapar ett PDF-dokument. Fine, men hur ser arbetslasten ut? I vissa fall är algoritmen uppenbar, t.ex. Dijkstra, SGEMM, SFFT och "Histogram Equalization", det förutsatt att man själv jobbat med fall där dessa används.

Just Dijkstra (används t.ex. av GPS-system och även spel för att beräkna optimala vägen mellan två geografiska punkter) kan nog fungera som hyfsad proxy för "problemet som har viss skalbarhet med CPU-kärnor". Men man ska inte övertolka resultatet, finns trots allt en rad saker som kan skilja sig i andra problem som råkar vara lika på just punkten "skalning med CPU-kärnor".

C2Q är inte NUMA! Den är inte en symmetrisk quad-core design, men det är fortfarande ett UMA-system (Uniform Memory Architecture) och inte NUMA (Non-Uniform Memory Architecture). Alla CPU-kärnor har samma kostnad mot all RAM, C2Q designen är betydligt mer jämförbar med två CCX.

R5-1400/1500X och C2Q är ur den aspekten lika, båda består av två st dual-core komponenter som delar RAM-buss men som inte delar någon nivå CPU-cache.

NUMA inför en långt starkare form av asymmetri, men om du tittar på t.ex. Dijkstra resultatet ser man att C2Q skalar något sämre än en helt symmetrisk design. Rent praktiskt är nog effekten runt en tiopotens större mellan NUMA-noder.

Ett fall med relativt låg cache-hit rate där alla kärnor använder RAM från alla NUMA-noder skulle uppföra sig väldigt mycket värre på ett system med mer än en NUMA-nod jämfört med C2Q och Ryzen. I de två senare fallen må det finnas två cache-öar, men det är fortfarande bara en RAM-ö!

Gissar att något blivit vänt åt fel håll i din multi-thread graf. i7-7820X verkar faktiskt öka sin ledning över R7-1800X i multitrådfallet i (geometrisk) genomsnitt.

Tittade på några fall och i det enkeltrådade fallet ligger i7-7820X ~20 % före i enkeltrådprestanda och ~50 % före i multitrådprestanda (det då enligt GB4 aggregerade resultat).

BTW: hur tar du in data från GB-databasen in i det du gör graferna med (gissar det är R...)? Inte manuellt hoppas jag! Har ett AWK-skript som givet resultat ID printar namnet på deltesterna, ST-resultat och MT-resultat.

Ex (Edit: den som vill ha skriptet kan skicka PM)

Tar CPU-namnet som argument, vill kunna styra själv hur modellen namnges.

$ gb4cat.sh 3356333 | awk -f gb4.awk - CPU=R7-1800X --2017-07-09 16:09:49-- https://browser.primatelabs.com/v4/cpu/3356333 Resolving browser.primatelabs.com (browser.primatelabs.com)... 23.92.21.41 Connecting to browser.primatelabs.com (browser.primatelabs.com)|23.92.21.41|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: ‘3356333’ 3356333 [ <=> ] 26.08K --.-KB/s in 0s 2017-07-09 16:09:50 (114 MB/s) - ‘3356333’ saved [26707] CPU model: AMD Ryzen 7 1800X @ 3.60 GHz R7-1800X, AES, 5981, 17341 R7-1800X, LZMA, 4634, 30406 R7-1800X, JPEG, 4266, 30550 R7-1800X, Canny, 4593, 23433 R7-1800X, Lua, 3041, 24416 R7-1800X, Dijkstra, 4476, 18457 R7-1800X, SQLite, 3776, 27112 R7-1800X, HTML5 Parse, 3435, 22140 R7-1800X, HTML5 DOM, 5050, 32704 R7-1800X, Histogram Equalization, 3758, 19404 R7-1800X, PDF Rendering, 4135, 15642 R7-1800X, LLVM, 6266, 41403 R7-1800X, Camera, 4822, 27168 R7-1800X, SGEMM, 2502, 8442 R7-1800X, SFFT, 3657, 20254 R7-1800X, N-Body Physics, 4262, 32139 R7-1800X, Ray Tracing, 4304, 20971 R7-1800X, Rigid Body Physics, 4266, 32118 R7-1800X, HDR, 4457, 29533 R7-1800X, Gaussian Blur, 5094, 21726 R7-1800X, Speech Recognition, 5011, 21015 R7-1800X, Face Detection, 4687, 29458

Dold text

Du hade ju gjort ett lite program där man kunde mäta tiden mellan olika processorer. Jag testade det för några månader sedan och det var ju viss skillnad men inga tiopotenser. Så, nej, det är nog inte i närheten av NUMA-latenser.

Jo, det hade blivit inverterat i diagrammet...

Jag blev peppad att testa web scraping med R. Jag har aldrig fullföljt det tidigare, men nu hade jag lite semestertid över. Men, oj, det blev mer komplext än jag räknat med, men det fungerar till stor del. Det är "halvautomatiskt", där jag fortfarande måste ange löpnummer manuellt, men det är allt. Allt kommer in i R som en data.frame vilket är bekvämt.

Men, för mindre projekt är copy-paste snabbare, dvs upp till ett par dussin observationer. Men, nu har jag koden vilken ju går att återanvända.

Men att få snygga diagram snabbt tar fortfarande lite för lång tid för att det skall bli relevant. Här kommer ett diagram skapat i vanliga Excel, baserat på data hämtade via R.

Som vi ser är det visst överlapp mellan AMD Ryzen 1800X och Intel i7-7820X. Det fanns inga tydliga samband med minnesmängd. Tyvärr fick jag inte med minneshastigheter.

De Ryzen som ligger högst är de som är överklockade till 4,0-4,1 GHz. Det är fortfarande en billigare lösning än att kyla en i7-7820X.

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
Datavetare
Skrivet av sAAb:

Du hade ju gjort ett lite program där man kunde mäta tiden mellan olika processorer. Jag testade det för några månader sedan och det var ju viss skillnad men inga tiopotenser. Så, nej, det är nog inte i närheten av NUMA-latenser.

Det mäter bara en enda aspekt, hur lång tid det tar att hantera cache-koherens mellan två CPU-trådar. Detta är urtypen för mikrobenchmark, det mäter absolut en specifik aspekt av systemet men det går inte direkt att applicera på hur specifika applikationer kommer påverkas av detta.

För varje specifik applikation måste man veta vad flaskhalsarna är för att veta om just latensen för att hantera cache-koherens för en enda cache-line (vilket är vad mitt och PCPerspectives program testar).

På min dual E5-2690 är det ungefär en faktor fem i latens mellan två kärnor i samma NUMA-zon och två på olika NUMA-zoner (olika socklar), så inte riktigt en tiopotens men väl flera heltalsfaktorer (så icke-försumbart).

Är ju uppenbart att Geekbench 4 testerna gör saker som skalar uselt på NUMA, finns ju ett test med Epyc 7601 och där är prestanda sämre än både Threadripper och 1800X (d.v.s. flera av programmen har negativ skalning med antalet NUMA-zoner).

AnandTech såg ju också ett sådant fall i deras snabbtest av Epyc och Skylake EP

"In previous articles, we tested with Spark 1.5 in standalone mode (non-clustered). That worked out well enough, but we saw diminishing returns as core counts went up. In hindsight, just dumping 300 GB of compressed data in one JVM was not optimal for 30+ core systems. The high core counts of the Xeon 8176 and EPYC 7601 caused serious performance issues when we first continued to test this way. The 64 core EPYC 7601 performed like a 16-core Xeon, the Skylake-SP system with 56 cores was hardly better than a 24-core Xeon E5 v4."

En 22-core Xeon E5 2699 v4 (står fel, är 22 kärnor inte 24) är inte heller någon supermatch för just detta fall, skulle fungera bättre med färre lägre klockade kärnor, men här ser man att försöker man skala en och samma instans över NUMA-zoner, av ett program som ändå är helt designat för att skala bra med kärnor, så blir det i princip noll skalning.

Ett annat exempel är AnandTechs databastest. Det är enda testat där det kör ett program över alla CPU-kärnor, fungerar inte bra på Epyc (och finns ingen annan rimlig förklaring än just NUMA, Ryzen står sig riktigt bra i databastester).

Vad man vill göra med NUMA är att se till att varje enskild process inte behöver fler CPU-trådar än vad som kan hållas inom en NUMA-zon. Ur den bemärkelsen är inte Epyc 7601 en 32 kärnors CPU, det är fyra stycken 8-kärnors CPUer i samma paket och den presterar bara väl om man behandlar den som sådan.

Threadripper är två stycken 8-kärnors CPUer.

Visa signatur

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

Permalänk
Inaktiv
Skrivet av Ratatosk:

Epyc 16 kärnor kostar från 7100 kr.
Verkar lovande för TR:s priser.
http://www.sweclockers.com/nyhet/24116-amd-epyc-listas-pa-pri...

Intressant att se hur Threadripper hamnar, priserna på Epyc var rätt blodiga men samtidigt är det rimliga priser sett till segmentet de tillhör.

1700 eller någon lämplig Threadripper CPU för min del. Borde inte vara så långt kvar nu tills jag kan bestämma mig för vilken lösning det nu blir. AM4 tycks ha mognat tillräckligt så ser inga problem med att slå till på en Ryzen inledningsvis och sedan uppgradera till en Threadripper-lösning när behovet uppstår.

Permalänk
Medlem

Någon som sett vatten kylning till Threadripper/EPYC?

Sett Noctua tornkylare men vad finns det mer?

Visa signatur

I've somehow been WASDing my whole life

13th Intel 8P@6GHz E-cores off Kraken X73 360mm DDR5 m.2@7000MB/sek Gigabyte Z690
Alltid över AMD 3D med överklocking i fakefikans (swefaker) grafer med intel :)

Permalänk
Medlem
Skrivet av Yoshman:

Det mäter bara en enda aspekt, hur lång tid det tar att hantera cache-koherens mellan två CPU-trådar. Detta är urtypen för mikrobenchmark, det mäter absolut en specifik aspekt av systemet men det går inte direkt att applicera på hur specifika applikationer kommer påverkas av detta.

För varje specifik applikation måste man veta vad flaskhalsarna är för att veta om just latensen för att hantera cache-koherens för en enda cache-line (vilket är vad mitt och PCPerspectives program testar).

På min dual E5-2690 är det ungefär en faktor fem i latens mellan två kärnor i samma NUMA-zon och två på olika NUMA-zoner (olika socklar), så inte riktigt en tiopotens men väl flera heltalsfaktorer (så icke-försumbart).

Är ju uppenbart att Geekbench 4 testerna gör saker som skalar uselt på NUMA, finns ju ett test med Epyc 7601 och där är prestanda sämre än både Threadripper och 1800X (d.v.s. flera av programmen har negativ skalning med antalet NUMA-zoner).

AnandTech såg ju också ett sådant fall i deras snabbtest av Epyc och Skylake EP

"In previous articles, we tested with Spark 1.5 in standalone mode (non-clustered). That worked out well enough, but we saw diminishing returns as core counts went up. In hindsight, just dumping 300 GB of compressed data in one JVM was not optimal for 30+ core systems. The high core counts of the Xeon 8176 and EPYC 7601 caused serious performance issues when we first continued to test this way. The 64 core EPYC 7601 performed like a 16-core Xeon, the Skylake-SP system with 56 cores was hardly better than a 24-core Xeon E5 v4."

En 22-core Xeon E5 2699 v4 (står fel, är 22 kärnor inte 24) är inte heller någon supermatch för just detta fall, skulle fungera bättre med färre lägre klockade kärnor, men här ser man att försöker man skala en och samma instans över NUMA-zoner, av ett program som ändå är helt designat för att skala bra med kärnor, så blir det i princip noll skalning.

Ett annat exempel är AnandTechs databastest. Det är enda testat där det kör ett program över alla CPU-kärnor, fungerar inte bra på Epyc (och finns ingen annan rimlig förklaring än just NUMA, Ryzen står sig riktigt bra i databastester).

Vad man vill göra med NUMA är att se till att varje enskild process inte behöver fler CPU-trådar än vad som kan hållas inom en NUMA-zon. Ur den bemärkelsen är inte Epyc 7601 en 32 kärnors CPU, det är fyra stycken 8-kärnors CPUer i samma paket och den presterar bara väl om man behandlar den som sådan.

Threadripper är två stycken 8-kärnors CPUer.

I dtatabas testet så kör de filer som får plats i intels cashe men inte i amds. I normalfallet så är databaserna för stora för att rymmas i cashen.vore intresant att se ett sånt test då amds höga bandbredd får arbeta

Skickades från m.sweclockers.com

Permalänk
Medlem
Visa signatur

HTPC Hemmabio Vinyl
CPU Intel 9900k@4.9GHz - Corsair Hydro H150i PRO RGB 360mm MB Gigabyte Z390 Aorus Master RAM Corsair Vengance LPX 16GB 3200Mhz GFX ASUS GTX 1080 Ti FE 11GB PSU Seasonic PRIME Ultra 1000W Gold SSD Corsair Force MP500 240GB Chassi NZXT H440
Gaming/Workstation
CPU Intel i9-7900X @4500 NZXT Kraken X62 MB Asus Prime X299-A GFX AMD Radeon VII RAM Corsair Vengeance RGB 4x8GB 3000MHz PSU EVGA SuperNOVA 750 G1 SSD Samsung 960 EVO M.2 SSD 500GB Chassi Phanteks Enthoo EVOLV ATX

Permalänk
Medlem

Oj.

http://www.pcworld.com/article/3207747/components/amd-threadr...

"On Thursday, AMD disclosed the model numbers, price, and rough availability of both the 12- and 16-core AMD Threadripper chips, designed for the upper echelons of gaming and content-creation PCs:

The $999 16-core, 32-thread 3.4-GHz Threadripper 1950X
The $799 12-core, 24-thread3.5-GHz Threadripper 1920X"

Nu får man ju hoppas att det blir en tydlig skillnad mot konkurrenterna...

Skickades från m.sweclockers.com

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

Priserna framgick ju i klippet. Dessutom att 1950X fick över 3000 i Cinebench R15 multi.

Det kan jämföras med andra cpuer, där t.ex. i9-7900X når mellan 2100 och 2200.

https://hothardware.com/reviews/intel-core-i9-7900x-and-core-...
http://m.hexus.net/tech/reviews/cpu/107017-intel-core-i9-7900...

Nu gäller det vad prestanda blir i single. Priset vet vi nu.

EDIT

Från
http://www.anandtech.com/show/11636/amd-ryzen-threadripper-19...

Cinebench:

"AMD Threadripper 1950X 16C/32T 3.4/4.0 $999 3062
AMD Threadripper 1920X 12C/24T 3.5/4.0 $799 2431
Intel Core i9-7900X 10C/20T 3.3/4.3 $999 2167"

Undrar hur de utan X kommer att kosta.

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

Nu har det dykt upp Threadripper på Geekbench, med löpnummer

3108740
3108784
3108817
3108918
3108958

En tabell med råvärdena:

cpu_entry

3108740

3108784

3108817

3108918

3108958

cpu_name

AMD Ryzen Threadripper 1950X 16-Core

AMD Ryzen Threadripper 1950X 16-Core

AMD Ryzen Threadripper 1950X 16-Core

AMD Ryzen Threadripper 1950X 16-Core

AMD Ryzen Threadripper 1950X 16-Core

cpu_frequency

3,39

3,39

3,39

3,39

3,39

processors

1

1

1

1

1

cores

16

16

16

16

16

memory_amount

16384

16384

16384

16384

16384

single_core_score

4189

3972

3999

4166

3917

multi_core_score

24816

24366

24120

24649

24379

crypto_score

5632

4718

4962

5068

4634

integer_score

4210

3994

4018

4147

4018

floating_point_score

3961

3946

4037

4051

3987

memory_score

4124

3776

3659

4157

3407

single_aes

4,24

3,55

3,74

3,82

3,49

single_lzma

7,34

6,42

6,64

7,11

6,71

single_jpeg

35,9

32,8

34,3

35,3

33

single_canny

61,4

58,4

54,9

58,8

56,4

single_lua

3,02

3

3,05

2,81

2,91

single_dijkstra

3,04

2,47

2,87

3,07

2,81

single_sqlite

96

97,3

99,9

103,2

98,7

single_html5_parse

16,2

15,4

15,7

15,7

15,3

single_html_dom

4,46

4,49

4,46

4,34

4,48

single_histogram_equalization

109,1

106,9

102,4

106,9

111,3

single_pdf_rendering

111,6

104,4

98,2

111,2

104

single_llvm

420,3

412,9

416,2

418,7

405,5

single_camera

12,9

12,8

12,1

12,7

12

single_sgemm

48

49,2

48,9

50

50,4

single_sfft

8,57

7,24

8,47

8,33

7,96

single_n_body_physics

3,29

3,29

3,29

3,16

3,29

single_ray_tracing

595,4

586,8

604,7

615,8

572,2

single_rigid_body_physics

12873,1

12542

12735,6

12438,6

12849,1

single_hdr

16,4

15,2

16

16,5

14,8

single_gaussian_blur

87,2

85,5

86,6

89,5

85,7

single_speech_recognition

36,1

41

40,2

41,7

40,7

single_face_detection

1,2

1,35

1,3

1,27

1,36

single_memory_copy

12,2

11,4

11,1

12,2

10,8

single_memory_latency

106,8

101,3

102,5

102,7

125

single_memory_bandwidth

21

16,4

15,5

20,6

15,7

multi_aes

8,29

8,18

8,63

8,54

7,99

multi_lzma

75,6

74,1

75,4

76,7

75,7

multi_jpeg

296,9

294,1

300,3

293,3

286,5

multi_canny

281,1

276,9

283,2

304,6

305,6

multi_lua

52,6

48,1

54,6

45,9

57,5

multi_dijkstra

9,6

9,56

9,87

9,65

9,51

multi_sqlite

1,48

1,47

1,37

1,49

1,42

multi_html5_parse

124

116,9

137,5

125,3

127,3

multi_html_dom

37,8

35,7

34,9

36,9

35,4

multi_histogram_equalization

403

429,7

396,2

393

397,5

multi_pdf_rendering

213,1

208,4

208,2

214,9

206,4

multi_llvm

5,07

4,77

4,59

5,05

4,62

multi_camera

83,3

80,3

77

79,4

78,4

multi_sgemm

300,5

283

265,8

277,5

252,3

multi_sfft

139,8

139

132,8

134,3

137,3

multi_n_body_physics

58,7

59

58,9

59,7

59

multi_ray_tracing

3,33

3,36

3,33

3,5

3,43

multi_rigid_body_physics

136065

138347,8

133454

136871,5

139093,4

multi_hdr

102,7

104,3

105,4

103,6

106,2

multi_gaussian_blur

430,7

430,6

427,7

423,9

426,4

multi_speech_recognition

154,7

157,3

152,4

154,8

150,4

multi_face_detection

21,8

21,9

21,9

21,7

21,7

multi_memory_copy

14,4

14,1

10,6

14,9

12,8

multi_memory_latency

100,7

128,7

161,5

101,1

112

multi_memory_bandwidth

25,6

22,9

16,8

25,8

23,8

Dold text

Om man överklockar 3,4 GHz med samma faktorer som man fick med 1700 i ett tidigare inlägg blir det

cpu_entry

KorrelFreq

Median

Percentil90

Median

Median

Beräknade

cpu_name

AMD Ryzen 7 1700

AMD Ryzen 7 1700

AMD Ryzen 7 1700

AMD Ryzen 1800X

AMD Threadripper 1950X

AMD Threadripper 1950X

cpu_frequency

3,74

3,74

3,9

3,815

3,39

3,875673352

processors

1

1

1

1

1

1

cores

8

8

8

8

16

16

memory_amount

16384

16384

32768

16384

16384

16384

single_core_score

0,657235571

4336

4580,9

4463,5

4041,5

4269,766455

multi_core_score

0,795097638

22786,5

25829,3

24111

24514

27787,48207

crypto_score

0,720682705

5688

6222,7

5828,5

4851

5307,01788

integer_score

0,686770781

4096,5

4289,2

4244,5

4082,5

4274,541438

floating_point_score

0,545720565

3980

4167

4143

4019

4207,832412

memory_score

0,53207716

4922

5611,4

5117

3782

4311,725884

single_aes

0,720278545

4,28

4,685

4,39

3,655

4,000858645

single_lzma

0,664375552

6,795

7,211

7,055

6,91

7,333040471

single_jpeg

0,779442838

34,3

35,47

35,3

34,15

35,31488338

single_canny

0,771361369

60,5

63,44

62,5

57,6

60,39907438

single_lua

0,742300117

2,94

3,07

3,06

2,86

2,986462585

single_dijkstra

0,822860092

3,07

3,28

3,155

2,94

3,141107492

single_sqlite

0,618763588

98,15

104,2

102,6

100,95

107,172593

single_html5_parse

0,697309486

15,45

16,2

16,15

15,5

16,25242718

single_html_dom

0,540920836

4,215

4,481

4,425

4,41

4,68830605

single_histogram_equalization

0,46218637

104,5

111,71

108,6

109,1

116,627378

single_pdf_rendering

0,553019648

108,55

115,25

112,55

107,6

114,2413634

single_llvm

0,461958152

415,5

438,94

432,55

412,1

435,3481925

single_camera

0,596856729

12,5

13,1

13,1

12,35

12,9428

single_sgemm

0,536189605

49,8

51,47

51,55

50,2

51,88341365

single_sfft

0,514349916

8,485

8,797

8,79

8,145

8,444497938

single_n_body_physics

0,571278242

3,12

3,267

3,24

3,225

3,376947115

single_ray_tracing

0,495877327

588,8

619,84

616,85

594

625,3141304

single_rigid_body_physics

0,60160181

12429,2

12979,28

12929,9

12643,85

13203,42978

single_hdr

0,635837578

15,9

16,6

16,3

15,65

16,33899371

single_gaussian_blur

0,51292876

81,75

86,47

85,8

87,6

92,65776147

single_speech_recognition

0,473750039

42,5

44,34

43,85

41,2

42,98371765

single_face_detection

-0,182289589

1,29

1,36

1,335

1,315

1,386356589

single_memory_copy

0,486464836

13,95

17,1

14,65

11,5

14,09677419

single_memory_latency

-0,447377335

87,8

103,76

82,95

113,85

134,5452847

single_memory_bandwidth

0,493144605

25,65

28,17

25,85

18,15

19,93315789

multi_aes

0,54523204

10,25

14,47

10,65

8,265

11,66776098

multi_lzma

0,758239417

57,45

63,3

58,6

76,2

83,95926893

multi_jpeg

0,793055878

301,15

321,88

313,15

289,9

309,8555936

multi_canny

0,645829573

317,7

355,21

329,65

305,1

341,1223513

multi_lua

0,787361067

32,6

34,7

33,4

51,7

55,0303681

multi_dijkstra

0,656250967

11,6

14,37

12,4

9,58

11,86763793

multi_sqlite

-0,215470401

855,75

973,14

856,75

1,455

1,654593865

multi_html5_parse

0,713370901

124,9

136,42

131,75

126,3

137,9491273

multi_html_dom

0,6120064

30,55

33,97

31,1

36,15

40,19690671

multi_histogram_equalization

0,764574038

654,65

723,01

688,25

395,25

436,5228786

multi_pdf_rendering

0,653124283

360,75

433,3

396,65

210,65

253,013569

multi_llvm

0,624209236

4,01

4,237

4,095

4,835

5,108701995

multi_camera

0,801882131

94,9

104,89

99,95

78,9

87,20570074

multi_sgemm

0,493922265

307,4

390,09

361

264,9

336,157583

multi_sfft

0,762821067

71,2

75,7

72

135,8

144,3828652

multi_n_body_physics

0,800116127

31,45

33,97

33

59,35

64,10554849

multi_ray_tracing

0,854257002

3,33

3,557

3,435

3,465

3,701202703

multi_rigid_body_physics

0,785644022

122269

134249,6

128613,95

137982,45

151502,7417

multi_hdr

0,736890604

116

130,03

120,45

104,9

117,5874741

multi_gaussian_blur

0,750515204

466,85

515,11

488,05

425,15

469,0993178

multi_speech_recognition

0,609280105

160,1

197,15

167,05

152,6

187,914366

multi_face_detection

0,804191805

11,7

12,4

11,95

21,7

22,9982906

multi_memory_copy

0,526540038

18,15

24,17

19,35

13,85

18,4437741

multi_memory_latency

-0,490139897

87,75

106,37

84,6

106,55

129,1592422

multi_memory_bandwidth

0,550024899

32,2

39,64

33,6

24,8

30,53018634

Dold text

Hur väl det stämmer får vi se framöver.

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

AMD Threadripper 1950X 16C/32T 3.4/4.0 $999 gamla namnet var 1998X 16c/32T hade 3,5-3,8 +0,1 så AMD har höjt prestandan lite. Frågan är om amd kommer att ha 9 olika modeller av Threadripper på släppdatumet. Nu väntar vi på vatten block och bilder på fungerande moderkort.
Kan man valt att ändra namnet för att kunna få in en 32/64 cpu i namn schemat?

Visa signatur

Ryzen 5800X ROG STRIX X570-f GAMING FlareX DDR43600 cl 14-14-14-34 EVGA FTW3 Ultra RTX 3090

Permalänk
Datavetare
Skrivet av HenrikM:

I dtatabas testet så kör de filer som får plats i intels cashe men inte i amds. I normalfallet så är databaserna för stora för att rymmas i cashen.vore intresant att se ett sånt test då amds höga bandbredd får arbeta

Skickades från m.sweclockers.com

Från artikeln

"For our testing we used the read-only OLTP benchmark,"

Det är absolut best-case för system med flera NUMA-noder, detta p.g.a. av att latensen är rätt hög mellan NUMA-noder och relationsdatabaser garanterar att alla alltid får samma värde (det senaste som skrevs). Detta enligt en utökning av CAP-teoremet som kallas PACELC.

Då det bara är läsningar borde det inte vara något jätteproblem att Epyc har 8 st 8 MB L3-kakor, det är totalt 64 MB L3$ vilket är rätt mycket större än 8176 (38,5 MB), till och med större än 2699v4 (55 MB).

Och om cache nu var ett problem så borde skillnaden vara väsentligt större, 2690 med sina 20 MB L3$ borde knappast vara så mycket långsammare än Epyc 7601 om den förra kör ur L3$. Nog för att det är mycket bandbredd mot RAM, men det är fortfarande ett par heltalsfaktorer mer bandbredd mot L3$ och framförallt ett gäng heltalsfaktorer lägre latens.

Förhoppningsvis gör AnandTech vettiga databastester framöver, denna är rätt meningslös som den är designad nu. Dels bör man ha väsentligt större databas men framförallt bör det även vara skrivningar (fast gissar att man skippade det då NUMA+massor med kärnor kommer få MySQL att rejält tanka...).

AT har intressant text kring tekniken i servers, men de verkar rätt dåliga på att faktiskt testa sådana system på ett vettigt sätt. Som tur är har STH (Serve The Home) tillgång till både Epyc och Skylake SP, är där man får läsa de vettiga testerna (de ska komma inom kort).

Effekten av NUMA syns faktiskt riktigt väl i Geekbench 4, förutsatt att man tittar på individuella tester. Har tagit med E5-2667v4 då det i princip är server-versionen av i7-6900K, så dessa två förhåller sig som Threadripper 1950X vs R7 1800X när det kommer till antal kärnor och NUMA. 16 kärnor / 2 NUMA-zoner mot 8 kärnor / 1 NUMA-zon.

Har rangordna testerna efter hur de skalar med NUMA, från bra skalning (saker där beräkningen är helt lokaliserad och kan köra ur L2$) till usel skalning med NUMA, d.v.s. saker där trådarna relativt ofta måste synkronisera med varandra.

I mitten finns kanske de mest intressanta resultaten, de som skalar med monolitiska designer men inte med NUMA. Är en effekt av latens och/eller det faktum att data i ena faller alltid ligger i RAM som är "nära" (en NUMA-zon), rätt dyrt att läsa/skriva RAM som ligger på "fel" NUMA-zon.

Finns inget som pekar på att Infinity Fabric på något sätt är bättre eller för den del sämre än andra NUMA-designer som finns. Threadripper vs 1800X uppför sig i det närmaste identiskt jämfört med E5-2667v4 vs i7-6900K.

Finns absolut saker som skalar lysande över NUMA-zoner, de flesta servers är idag trots allt dual-socket (så två NUMA-noder). Men rätt få saker på skrivbordet skalar speciellt bra över NUMA (och det kommer fortsätta vara fallet så länge som latensen inte är lika låg som on-chip och bandbredden inte är lika hög).

Alla resultat i tabellen är genomsnittet av de tre senaste resultaten för respektive CPU i oklockat tillstånd och med 64-bitars Windows som OS. Noterade att Linux skalar klart bättre över NUMA-zoner i vissa fall, så där är genomsnittsvärdet för multitrådning bättre, så går inte att jämföra GB4 resultat från olika OS!!!

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

@Yoshman:

Jo jo vi vet att I.F. inte är det bästa sedan skivat bröd vad gäller prestanda.

Men om man bortser från akademiska aspekter en stund så är det rättt så tydligt att AND kommer tjäna pengar och deras kunder kommer spara väldigt mycket pengar.

Intel är tagna på sängen precis lika mycket som AMD blev tagna på sängen när C2D släpptes. Det handlar mer om ett affärsmässigt genidrag än något ingenjörmässigt.

Permalänk
Medlem

@Pudeln:
IF är det snabbaste som finns, vad gäller bandbredd mellan små kluster med kärnor, det är bara det att den designen passar dåligt för den lasten. Det är som vanligt, känn din last!

Permalänk
Medlem
Skrivet av Yoshman:

Det mäter bara en enda aspekt, hur lång tid det tar att hantera cache-koherens mellan två CPU-trådar. Detta är urtypen för mikrobenchmark, det mäter absolut en specifik aspekt av systemet men det går inte direkt att applicera på hur specifika applikationer kommer påverkas av detta.

För varje specifik applikation måste man veta vad flaskhalsarna är för att veta om just latensen för att hantera cache-koherens för en enda cache-line (vilket är vad mitt och PCPerspectives program testar).

På min dual E5-2690 är det ungefär en faktor fem i latens mellan två kärnor i samma NUMA-zon och två på olika NUMA-zoner (olika socklar), så inte riktigt en tiopotens men väl flera heltalsfaktorer (så icke-försumbart).

Är ju uppenbart att Geekbench 4 testerna gör saker som skalar uselt på NUMA, finns ju ett test med Epyc 7601 och där är prestanda sämre än både Threadripper och 1800X (d.v.s. flera av programmen har negativ skalning med antalet NUMA-zoner).

AnandTech såg ju också ett sådant fall i deras snabbtest av Epyc och Skylake EP

"In previous articles, we tested with Spark 1.5 in standalone mode (non-clustered). That worked out well enough, but we saw diminishing returns as core counts went up. In hindsight, just dumping 300 GB of compressed data in one JVM was not optimal for 30+ core systems. The high core counts of the Xeon 8176 and EPYC 7601 caused serious performance issues when we first continued to test this way. The 64 core EPYC 7601 performed like a 16-core Xeon, the Skylake-SP system with 56 cores was hardly better than a 24-core Xeon E5 v4."

En 22-core Xeon E5 2699 v4 (står fel, är 22 kärnor inte 24) är inte heller någon supermatch för just detta fall, skulle fungera bättre med färre lägre klockade kärnor, men här ser man att försöker man skala en och samma instans över NUMA-zoner, av ett program som ändå är helt designat för att skala bra med kärnor, så blir det i princip noll skalning.

Ett annat exempel är AnandTechs databastest. Det är enda testat där det kör ett program över alla CPU-kärnor, fungerar inte bra på Epyc (och finns ingen annan rimlig förklaring än just NUMA, Ryzen står sig riktigt bra i databastester).

Vad man vill göra med NUMA är att se till att varje enskild process inte behöver fler CPU-trådar än vad som kan hållas inom en NUMA-zon. Ur den bemärkelsen är inte Epyc 7601 en 32 kärnors CPU, det är fyra stycken 8-kärnors CPUer i samma paket och den presterar bara väl om man behandlar den som sådan.

Threadripper är två stycken 8-kärnors CPUer.

Skrivet av Yoshman:

Från artikeln

"For our testing we used the read-only OLTP benchmark,"

Det är absolut best-case för system med flera NUMA-noder, detta p.g.a. av att latensen är rätt hög mellan NUMA-noder och relationsdatabaser garanterar att alla alltid får samma värde (det senaste som skrevs). Detta enligt en utökning av CAP-teoremet som kallas PACELC.

Då det bara är läsningar borde det inte vara något jätteproblem att Epyc har 8 st 8 MB L3-kakor, det är totalt 64 MB L3$ vilket är rätt mycket större än 8176 (38,5 MB), till och med större än 2699v4 (55 MB).

Och om cache nu var ett problem så borde skillnaden vara väsentligt större, 2690 med sina 20 MB L3$ borde knappast vara så mycket långsammare än Epyc 7601 om den förra kör ur L3$. Nog för att det är mycket bandbredd mot RAM, men det är fortfarande ett par heltalsfaktorer mer bandbredd mot L3$ och framförallt ett gäng heltalsfaktorer lägre latens.

Förhoppningsvis gör AnandTech vettiga databastester framöver, denna är rätt meningslös som den är designad nu. Dels bör man ha väsentligt större databas men framförallt bör det även vara skrivningar (fast gissar att man skippade det då NUMA+massor med kärnor kommer få MySQL att rejält tanka...).

AT har intressant text kring tekniken i servers, men de verkar rätt dåliga på att faktiskt testa sådana system på ett vettigt sätt. Som tur är har STH (Serve The Home) tillgång till både Epyc och Skylake SP, är där man får läsa de vettiga testerna (de ska komma inom kort).

Effekten av NUMA syns faktiskt riktigt väl i Geekbench 4, förutsatt att man tittar på individuella tester. Har tagit med E5-2667v4 då det i princip är server-versionen av i7-6900K, så dessa två förhåller sig som Threadripper 1950X vs R7 1800X när det kommer till antal kärnor och NUMA. 16 kärnor / 2 NUMA-zoner mot 8 kärnor / 1 NUMA-zon.

Har rangordna testerna efter hur de skalar med NUMA, från bra skalning (saker där beräkningen är helt lokaliserad och kan köra ur L2$) till usel skalning med NUMA, d.v.s. saker där trådarna relativt ofta måste synkronisera med varandra.

I mitten finns kanske de mest intressanta resultaten, de som skalar med monolitiska designer men inte med NUMA. Är en effekt av latens och/eller det faktum att data i ena faller alltid ligger i RAM som är "nära" (en NUMA-zon), rätt dyrt att läsa/skriva RAM som ligger på "fel" NUMA-zon.
http://i.imgur.com/I1cQlee.png

Finns inget som pekar på att Infinity Fabric på något sätt är bättre eller för den del sämre än andra NUMA-designer som finns. Threadripper vs 1800X uppför sig i det närmaste identiskt jämfört med E5-2667v4 vs i7-6900K.

Finns absolut saker som skalar lysande över NUMA-zoner, de flesta servers är idag trots allt dual-socket (så två NUMA-noder). Men rätt få saker på skrivbordet skalar speciellt bra över NUMA (och det kommer fortsätta vara fallet så länge som latensen inte är lika låg som on-chip och bandbredden inte är lika hög).

Alla resultat i tabellen är genomsnittet av de tre senaste resultaten för respektive CPU i oklockat tillstånd och med 64-bitars Windows som OS. Noterade att Linux skalar klart bättre över NUMA-zoner i vissa fall, så där är genomsnittsvärdet för multitrådning bättre, så går inte att jämföra GB4 resultat från olika OS!!!

Det är lite otäckt med latenser.

Här är de latenser med över 110 ns som jag har laddat ned hittills.

2668716

Intel Xeon Platinum 8170

110,5

3383687

AMD Ryzen 7 1700

110,7

3376894

AMD Ryzen 7 1700X

111,6

3108958

AMD Threadripper 1950X

112

3375583

AMD Ryzen 7 1800X

112,5

3372746

AMD Ryzen 7 1800X

117,7

3372808

AMD Ryzen 7 1800X

118,4

3108784

AMD Threadripper 1950X

128,7

2596026

Intel Xeon Gold 6138

148,1

3383367

AMD Ryzen 7 1700

150,6

3284583

AMD EPYC 7601 32-Core

159,2

3108817

AMD Threadripper 1950X

161,5

3016657

Intel Xeon Gold 6152

163,1

3016539

Intel Xeon Gold 6152

504,1

Vi ser att även flera exemplar av Ryzen 7-modeller hamnar här i värsta fall, även om medelvärden ligger lägre.

Här är en sammanfattande tabell för olika cpuer.

cpu

Cores

N

Harmoniskt

Median

P90

AMD Ryzen 7 1700

8

64

81,9393

87,75

106,4

AMD Ryzen 7 1700X

8

69

80,2334

87,80

101,2

AMD Ryzen 7 1800X

8

66

70,3041

84,65

101,5

AMD Threadripper 1950X

16

6

113,0478

106,55

145,1

Intel Core i7-7820X

8

64

37,7481

82,80

91,9

Intel Core i7-7900X

10

72

63,9521

73,10

92,5

Intel Xeon Gold 5122

8

1

90,2

90,2

90,2

Om jag tolkar dig rätt så har Intel bättre värden för de är mer utpräglat monolitiska. De höga värden som syns för Intel Xeon Gold ovan i den första tabelen beror ju på NUMA-effekten och att det här ett hästlass med kärnor som skall kommunicera.

Generellt känns det som om variationen mellan enskilda cpuer av samma modell är större än vad man kan tro när man läser olika tester. Inte enbart här men i de flesta av Geekbenchs testvärden. Jämför harmoniskt medelvärde, median och P90. Det kan till viss del beror på att det är så olika annan hårdvara runt om, men variabelt är det.

EDIT: Glömde säga att värdena ovan är från multi-core.

Här är en tabell med värden på korrelation mellan latens och de andra multi-core värdena från deltesterna i Geekbench.

CPU

1700

1700X

1800X

1950X

7820X

7900X

N

64

69

66

6

64

72

memory_amount

-0,2832

0,1175

0,4489

-0,3997

-0,1669

-0,0555

single_core_score

-0,7359

-0,4723

-0,3530

-0,5247

0,2428

-0,1442

multi_core_score

-0,5827

-0,2964

-0,2384

-0,5925

0,3959

-0,2201

crypto_score

-0,5373

-0,4328

-0,3447

-0,5197

-0,0440

-0,2939

integer_score

-0,5886

-0,2330

-0,1941

-0,2847

0,1992

0,0858

floating_point_score

-0,6494

-0,3622

-0,2785

0,4312

0,3837

0,0295

memory_score

-0,7994

-0,5916

-0,4385

-0,5950

-0,0159

-0,4804

single_aes

-0,5358

-0,4327

-0,3441

-0,5183

-0,0434

-0,2935

single_lzma

-0,4295

-0,4177

-0,2577

-0,5651

-0,0895

-0,2198

single_jpeg

-0,4784

-0,2173

-0,2244

0,0447

-0,0841

0,0371

single_canny

-0,4895

-0,4759

-0,3562

-0,7109

-0,1169

0,1239

single_lua

-0,4328

-0,2783

-0,3378

0,6772

-0,0798

0,1062

single_dijkstra

-0,6100

-0,5494

-0,3867

-0,3252

-0,0637

0,0188

single_sqlite

-0,5743

-0,1938

-0,2433

0,2108

0,0655

-0,1118

single_html5_parse

-0,5707

-0,2732

-0,2336

-0,1423

-0,1878

0,1607

single_html_dom

-0,5282

-0,1186

0,1741

0,5341

0,7836

-0,1350

single_histogram_equalization

-0,5356

-0,3099

-0,1468

-0,3618

-0,0807

0,0382

single_pdf_rendering

-0,6901

-0,2044

-0,2528

-0,4885

-0,0235

0,1938

single_llvm

-0,2976

0,0471

0,2507

0,3250

0,8342

0,4371

single_camera

-0,6687

-0,2789

-0,2803

-0,4167

-0,1909

-0,1011

single_sgemm

-0,6604

-0,1802

-0,2386

-0,2277

0,8490

0,1391

single_sfft

-0,6331

-0,3382

-0,2794

-0,1198

0,7501

0,1532

single_n_body_physics

-0,6506

-0,3259

-0,2498

0,5631

-0,0800

-0,0358

single_ray_tracing

-0,6004

-0,3682

-0,2216

0,2281

-0,0498

-0,3293

single_rigid_body_physics

-0,6085

-0,3641

-0,1822

0,2650

0,0219

-0,0508

single_hdr

-0,6599

-0,4149

-0,2475

-0,0216

-0,0700

0,3178

single_gaussian_blur

-0,6016

-0,2706

-0,2830

0,1867

-0,0561

0,0572

single_speech_recognition

-0,6728

-0,3751

-0,3432

0,4043

0,0232

-0,2323

single_face_detection

0,3174

-0,3172

-0,2269

0,4080

-0,0694

-0,1330

single_memory_copy

-0,7452

-0,5285

-0,3863

-0,6770

-0,0682

-0,4401

single_memory_latency

0,9753

0,9566

0,9955

-0,0409

0,9967

0,8102

single_memory_bandwidth

-0,7605

-0,5071

-0,3243

-0,7750

-0,0364

-0,4390

multi_aes

-0,4986

-0,4127

-0,3000

-0,3723

-0,0383

-0,1399

multi_lzma

-0,6828

-0,4896

-0,3493

-0,5151

-0,1075

-0,3144

multi_jpeg

-0,5116

-0,3280

-0,2293

-0,2393

-0,1812

-0,3559

multi_canny

-0,5982

-0,4203

-0,3094

-0,5044

-0,0568

0,1006

multi_lua

-0,5272

-0,1735

-0,2173

0,1984

-0,1424

-0,3469

multi_dijkstra

-0,6125

-0,4929

-0,2159

-0,2291

-0,0353

-0,0535

multi_sqlite

0,0390

-0,0366

-0,1709

-0,8510

0,0937

0,0484

multi_html5_parse

-0,5491

-0,1537

-0,2426

0,3486

-0,1642

-0,1482

multi_html_dom

-0,1955

-0,0583

0,3053

-0,5606

0,8191

-0,1949

multi_histogram_equalization

-0,5544

-0,2594

-0,0064

-0,0112

-0,0717

-0,0560

multi_pdf_rendering

-0,5783

-0,4377

-0,1491

-0,5745

-0,0205

0,1922

multi_llvm

-0,0458

0,0972

-0,0363

-0,1298

-0,2347

0,3082

multi_camera

-0,5846

-0,2518

-0,2171

-0,5768

-0,0817

-0,2372

multi_sgemm

-0,5109

0,0629

-0,3799

-0,5164

0,6575

0,2826

multi_sfft

-0,4152

-0,0530

-0,1868

0,3206

0,7484

-0,2041

multi_n_body_physics

-0,4481

-0,1594

-0,2515

0,3592

-0,1084

-0,3419

multi_ray_tracing

-0,5600

-0,3424

-0,3556

-0,6253

0,0068

-0,3892

multi_rigid_body_physics

-0,4806

-0,3625

-0,2799

-0,4114

-0,2796

-0,4517

multi_hdr

-0,5840

-0,3700

-0,2590

-0,1941

-0,0294

-0,0739

multi_gaussian_blur

-0,5873

-0,1660

-0,1758

-0,3786

-0,0797

-0,1103

multi_speech_recognition

-0,5207

-0,4367

-0,3665

-0,4059

0,0134

-0,3247

multi_face_detection

-0,4661

-0,1111

-0,2037

0,4492

-0,1459

-0,3523

multi_memory_copy

-0,7089

-0,4459

-0,3656

-0,8173

0,0504

-0,3044

multi_memory_latency

1,0000

1,0000

1,0000

1,0000

1,0000

1,0000

multi_memory_bandwidth

-0,7281

-0,4851

-0,3545

-0,9867

0,0606

-0,3192

Dold text

Ryzen 7 påverkas mer än 7820X och 7900X, men även de drabbas om än inte lika ofta.

Man ser här ett diagram hur variationen i latensen mellan enskilda 1800X påverkar resultatet i Geekbench 4 multi-core score.

Korrelationsvärdet här är runt 0,2 vilket ändå är ganska lågt.

EDIT 2: Här är sammanfattande statistik för korrelationerna mellan latenser mot samtliga variabler per cpu, beräknat på absolutvärdena. Föregående statistik ovan var en sammanfattning av enskilda cpuer.

CPU

1700

1700X

1800X

1950X

7820X

7900X

harmoniskt

0,3752

0,1957

0,1435

0,1691

0,0558

0,1090

median

0,5763

0,3270

0,2552

0,4070

0,0812

0,1930

P90

0,7185

0,4912

0,3732

0,6771

0,7493

0,4132

Det kan vara så att man separerar mellan Ryzen 1700, 1700X och 1800X snarast på latenserna än hur mycket det går att klocka! En tanke.

EDIT 3: Det här blev mer svårtolkat än jag räknat med. Jag har plockat bort ett dussing latenser på under 30 ns, då de verkade "orimliga".

Dold text

Nu har jag svårt att se någon större kausalitet här.

EDIT 4: Men, lägger man till trendlinjer så ser man att effekten finns, och är liknande för samtliga cpuer.

Dold text

Fast, det retar mig frotfarande att den här variationen finns mellan enkilda cpuer. Om det är annan hårdvara som orsakar variationen så vill jag veta vilken annan hårdvara man bör undvika. Kan det vara minnenas hastigheter? Tyvärr ingick inte de i de data man får via Geekbench.

EDIT 5: Tänkte att det kanske fanns något samband i mellan skillnaden i latens för i7-7700K och de nya i7-7820X och i9-7900K som kanske beror på övergången till en ny plattform, X299. Därför lade jag till i7-7740X.

Dold text

Men, plattformen påverkar inte latenser hos processorn här. i7-7740 presterar identiskt som i7-7700K.

EDIT 6: Ja, multi-core sqlite är ett vettigare verktyg här. Här med i7-6900K och Xeon E5-2667 v4 i både enkel och dubbelt cpu-utförande.

Jag har nog tappat lite av hypen för Threadripper 1950X trots höga prestanda, trots det här... F*N, den kostar ju som i7-6900K när den kom, även om den är dubbelt så snabb i flera benchmarks. Med nytt moderkort, grafikkort, minnen mm plockar det snabbt iväg.

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

Vore riktigt fint med en R9 1998 och 16 kärnor

Jag som utvecklare får mycket stora möjligheter att göra programen riktigt effektiva. Första dagen den kommer ut kommer jag beställa en sådan.

Tänk exempel som musikproduktion, bildbehandling, videoproduktion, komprimeringar och allmänna batchprocesser. 32st trådar kommer göra underverk

Permalänk
Datavetare

@sAAb: Det dina beräkningar pekar på är bl.a. att sättet Geekbench mäter latens är extremt opålitligt, personligen tycker jag just minnesmätningarna är totalt värdelösa i GB4 då de har otroligt dålig korrelation till prestanda i applikationer (och det gäller allt från mätningar på mobiler till server-kretsar).

Vidare är minneslatensen långt ifrån den viktigaste latensen för en CPU, framförallt på desktop där man normalt har extremt hög lokalitet av minnesaccesser -> väldigt hög cache-hit rate.

Det som spelar långt större roll är latensen för att upprätthålla en koherent bild av RAM över alla CPU-kärnor. Och häri ligger förklaringen till varför "read-only" fall faktiskt fungerar rätt OK på NUMA-system även om applikationen i fråga inte alls är skriven med NUMA i åtanke. I det läget kommer de flesta minnesaccesser hanteras via den lokala cachen.

Så fort man har skrivningar till minne som flera CPU-kärnor delar blir det problem. I det läget är bästa fallet en monolitiskt CPU-design där LLC (sista cache-nivå) inkluderar all information från lokala CPUer cache-nivåer, detta då ingen annan design gör det lika billigt att reda ut exakt om och i så fall vilka CPU-kärnor som måste notifieras om skrivningen.

Bl.a. spel gör saker som beror av detta vilket förklarar varför Intels CPU-modeller med ring-buss presterar bättre än både Ryzen och SKL-X. TechSpot har precis gjort en jämförelse mellan i7-7700K och i7-7800X, även om man överklockar den senare får den konsekvent stryk i spel av i7-7700K. Cache is king. Vad som är "kung" sett till design är däremt en funktion av arbetslast, Ryzen/SKL-X har en cache-design som vi sett presterar bättre än SKL-S när det handlar om att hantera väldigt många jobb som sinsemellan är oberoende (eller i alla fall det närmast oberoende).

Finns ju fall där även NUMA är en fördel! Har man två NUMA-zoner och jobbar med två helt oberoende uppgifter som båda äter RAM-bandbredd så kommer dessa uppgifter skala perfekt på ett NUMA-system men inte på ett system med en NUMA-nod (RAM blir då en flaskhals).

Visa signatur

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