Effect TLB trashing op compute kernels random access patroon

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Hi,

In m'n vrije tijd knutsel ik een beetje aan cryptomining kernels. Nu kwam ik laatst een probleem tegen bij Nvidia kaarten, waardoor deze bij zgn. "memory hard kernels" waarbij gebruik wordt gemaakt van zeer grote (> 1GB) GPU buffers, last krijgen van "TLB trashing". Hierdoor zakt de performance van deze kernels in als een pudding. De ontdekking van dit euvel heeft kennelijk inmiddels bij Nvidia zelf al enige onrust veroorzaakt >:) .

Zonder al te ver in details te treden, is dit een voorbeeld van wat er gebeurd met de bandbreedte van een GTX780 als je random (coalesced) reads doet, met de buffergrootte in MB op de x as:

Afbeeldingslocatie: http://i.snag.gy/JQhR3.jpg

Bij GTX750Ti begint de ellende al op 512MB onder Windows 8 en 1GB onder Windows 7 en Linux.

Ik ben benieuwd naar het gedrag van AMD kaarten, want die heb ik niet. In het bijzonder GCN 1.0, 1.1 en 1.2 (HD 7xxx t/m R9 300 series). GTX900 series zijn ook wel interessant, al vermoed ik dat die net als de GTX780 tot 2GB prima werken.

De executables en broncode is hier te vinden:

https://github.com/Genoil/dagSimCL (code)
https://github.com/Genoil/dagSimCL/archive/master.zip (zip met code en binaries)

Binaries zitten in x64/Release. Extra info (cmd line params) via README.

De resultaten worden weggeschreven in een CSV bestand. Overigens is het normaal dat niet de volle geadverteerde bandbreedte van je kaart wordt gehaald. Dat heeft met het hashing algoritme te maken.

Ik ben benieuwd naar jullie resultaten.

[ Voor 5% gewijzigd door Genoil op 28-11-2015 19:37 ]


Acties:
  • 0 Henk 'm!

  • Ardjee
  • Registratie: Februari 2009
  • Laatst online: 00:40
oh wee als dit een virus is:)

(ik ben het aan het draaien op een HD 7950 Boost en zal de results zo posten)

Het programma crashed. ik zal ff kieken hoe ik ook al weer een foto upload zodat je de crash kan zien.

Error Test
Afbeeldingslocatie: http://static.tweakers.net/ext/f/NQtcwZpsrHSzrGp79jmq6gXH/thumb.png

[ Voor 76% gewijzigd door Ardjee op 27-11-2015 14:19 ]


Acties:
  • 0 Henk 'm!

  • Xtr3me4me
  • Registratie: Juli 2009
  • Laatst online: 27-08-2024

Xtr3me4me

Saiyajin Godlike Tweaker

Ik zal als ik thuis ben het draaien op me GTX 980Ti onder Windows 10.

-- My Gaming Rig Power -- -- <SG> Diabolic --


Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Ardjee schreef op vrijdag 27 november 2015 @ 14:15:
oh wee als dit een virus is:)

(ik ben het aan het draaien op een HD 7950 Boost en zal de results zo posten)

Het programma crashed. ik zal ff kieken hoe ik ook al weer een foto upload zodat je de crash kan zien.
Ik moet toch eens de V&A in voor een mooie 2e hands 79xx... crashende binaries publiceren is slecht voor m'n reputatie :). Als je bang bent voor een virus, kun je de source inspecteren en zelf compileren ;)

Oh! De verkeerde opencl kernel staat nog in de Release folder. Ik ga het repareren. Je kunt evt ook zelf de dagSim.cl uit de source tree (https://github.com/Genoil/dagSimCL/blob/master/dagSim.cl) kopieren naar de Release map.

[edit] dit is nu gefixed.

[ Voor 18% gewijzigd door Genoil op 27-11-2015 14:48 ]


Acties:
  • 0 Henk 'm!

  • BartKers
  • Registratie: Augustus 2007
  • Laatst online: 17-05 12:37
Ik heb hem gedraaid en dit zijn de resultaten:
https://www.dropbox.com/s...deon7970_3GB_W10.csv?dl=0

DAG size (MB)Bandwidth (GB/s)Hashrate (MH/s)
128231,36230,3251
256230,92930,2683
384230,02530,1498
512229,78930,1189
640229,63530,0987
768229,59630,0936
896229,3630,0626
1.024229,39430,0671
1.152208,07127,2723
1.280187,26624,5454
1.408165,34121,6716
1.536 149,12619,5462
1.664136,13517,8435
1.792124,81216,3593
1.920115,69715,1647
2.048108,48414,2192

Op een 7970 3GB op 1150MHz core en 1600MHz geheugen.
PC draait op Windows 10.

[ Voor 84% gewijzigd door BartKers op 27-11-2015 15:54 ]


Acties:
  • 0 Henk 'm!

  • Ardjee
  • Registratie: Februari 2009
  • Laatst online: 00:40
Ik ben een nep tweaker die niet kan programmeren:( maar als je een virus wou verspreiden dan waren er vast betere methodes dan dit:)

Anyway! Nogmaals gedraaid (Win 10, HD 7950 boost) en de resultaten zijn hier te vinden:
https://www.dropbox.com/s/m4wsw5kbl1a29f8/results.csv?dl=0

GL!

Acties:
  • 0 Henk 'm!

  • Salmon
  • Registratie: Juli 2009
  • Laatst online: 27-05 00:00

Salmon

.NET developer

De 7970 van Bart lijkt het iets beter te doen:
Afbeeldingslocatie: http://i.imgur.com/U7XbfHb.png

Ardjee doet het vrijwel hetzelfde alleen iets langzamer (zoals verwacht met een langzamere kaart):
Afbeeldingslocatie: http://i.imgur.com/7Dphpnz.png

Onder de DAG size en de rest spreekt voor zich

[ Voor 27% gewijzigd door Salmon op 27-11-2015 15:59 ]


Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Super bedankt heren! Ik heb het sterke vermoeden dat de curve op Windows 7 pas bij 2GB een duik neemt, omdat dit ook het geval was op mijn GTX750Ti. Die duikt op Windows 8 al bij 512MB naar beneden, terwijl dat op Windows 7 pas bij 1024MB gebeurt.

Een korte toelichting op wat je ziet:

In een GPU zit een TLB (translation lookaside buffer). Als je heel veel (pseudo) random stukjes uit een groot geheugengebied laadt, hetgeen het dagger algoritme doet, dan loopt de TLB op een gegeven moment vol en krijg je dus steeds meer TLB misses, waarna de juiste memory page weer opnieuw berekend moet worden. Dat kost tijd. Voor gaming maakt dit overigens allemaal niet zoveel uit, dat is allemaal niet zo random.

Waarom het op Windows 8/10 zo slecht is vgl. met Windows 7, heeft waarschijnlijk iets te maken met de page size, maar daar ben ik nog niet helemaal uit.

Zou goed zijn om van dezelfde soort kaarten nog wat cijfers met Windows 7 te zien.

Trouwens, het lijkt erop dat jullie maar tot 2048MB kunnen. Dat kun je oplossen door voor het starten van de programma even
code:
1
set GPU_MAX_ALLOC_PERCENT 100


te doen.

[ Voor 8% gewijzigd door Genoil op 27-11-2015 16:57 ]


Acties:
  • 0 Henk 'm!

  • br00ky
  • Registratie: Januari 2014
  • Nu online

br00ky

Moderator Harde Waren
Voorlopig op slot voor overleg. En weer open.

[ Voor 21% gewijzigd door br00ky op 28-11-2015 11:47 ]


Acties:
  • 0 Henk 'm!

  • dj_tjerk
  • Registratie: Januari 2003
  • Laatst online: 31-05 14:11
Je riep het al, maar Win10 + GTX970 is niet een geweldige combinatie ;)

Afbeeldingslocatie: http://i.imgur.com/DL3o31I.png

Acties:
  • 0 Henk 'm!

  • Trygve
  • Registratie: Oktober 2009
  • Laatst online: 18:14

Trygve

Redacteur
7950 Boost op Windows 7 hier, en ik wil je graag helpen maar ik krijg een crash (zie hier). Doe ik iets verkeerd? Edit: gebeurt elke keer bij 1408MB.

En is het idee dat we die "set GPU_MAX_ALLOC_PERCENT 100" in de cmd administrator gooien voordat we dagSimCL.exe starten?

[ Voor 6% gewijzigd door Trygve op 28-11-2015 15:02 ]


Acties:
  • 0 Henk 'm!

  • Biersteker
  • Registratie: Juni 2009
  • Laatst online: 06-06 18:39
Genoil schreef op vrijdag 27 november 2015 @ 14:11:
In m'n vrije tijd knutsel ik een beetje aan cryptomining kernels. Nu kwam ik laatst een probleem tegen bij Nvidia kaarten, waardoor deze bij zgn. "memory hard kernels" waarbij gebruik wordt gemaakt van zeer grote (> 1GB) GPU buffers, last krijgen van "TLB trashing". Hierdoor zakt de performance van deze kernels in als een pudding. De ontdekking van dit euvel heeft kennelijk inmiddels bij Nvidia zelf al enige onrust veroorzaakt >:) .
Als je aan cryptomining kernels zit te tweaken. Raad ik je aan om iig Wolf` of/en reorder (freenode) te contacten. Aardige gasten, met zeer veel kennis. Ik denk niet dat je die kennis hier gaat vinden :).

Originally, a hacker was someone who makes furniture with an axe.


Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
r100 schreef op zaterdag 28 november 2015 @ 15:01:
7950 Boost op Windows 7 hier, en ik wil je graag helpen maar ik krijg een crash (zie hier). Doe ik iets verkeerd? Edit: gebeurt elke keer bij 1408MB.

En is het idee dat we die "set GPU_MAX_ALLOC_PERCENT 100" in de cmd administrator gooien voordat we dagSimCL.exe starten?
Dat is inderdaad het idee. Misschien moet ik even een batch file toevoegen. Zoiets:

code:
1
2
3
set GPU_MAX_ALLOC_PERCENT=100
set GPU_USE_SYNC_OBJECTS=1
dagSimCL.exe


Overigens toont je screenshot al een tipje van de sluier. Na 1GB gaat het een beetje bergafwaarts.

Acties:
  • 0 Henk 'm!

  • john.tromp
  • Registratie: November 2015
  • Laatst online: 09-12-2015
Genoil schreef op vrijdag 27 november 2015 @ 14:11:
In m'n vrije tijd knutsel ik een beetje aan cryptomining kernels.
Heb je al eens naar mijn Cuckoo Cycle Proof-Of-Work gekeken?
Er is onder andere een $500 bounty voor het maken van een GPU miner
die beduidend beter presteert dan de CPU miner.

Zie https://github.com/tromp/cuckoo voor details...

Acties:
  • 0 Henk 'm!

  • Eliovp
  • Registratie: Mei 2006
  • Laatst online: 28-03 11:42
Hey Genoil,

check even je topic op bitcointalk.

Eveneens daar met een Fury X Getest.

voor andere geïnteresseerden.

https://bitcointalk.org/i...5.msg13124157#msg13124157

Acties:
  • 0 Henk 'm!

  • ikt
  • Registratie: Juli 2008
  • Laatst online: 11:22

ikt

Mijn waarden zijn erg raar en niet consistent! R9 390 met 8GB VRAM op Windows 10.

DAG size (MB) Bandwidth (GB/s) Hashrate (MH/s)
128 227.892 29.8702
256 226.106 29.6362
384 157.17 20.6006
512 161.239 21.1339
640 162.398 21.2858
768 162.563 21.3075
896 196.819 25.7975
1,024 161.511 21.1696
1,152 186.943 24.503
1,280 155.089 20.3278
1,408 339.919 44.5538
1,536 158.724 20.8042
1,664 196.066 25.6988
1,792 161.976 21.2305
1,920 180.627 23.6752
2,048 160.823 21.0794
2,176 183.003 23.9866
2,304 162.912 21.3533
2,432 179.663 23.5487
2,560 161.387 21.1533
2,688 176.328 23.1116
2,816 162.001 21.2338
2,944 169.047 22.1574
3,072 161.259 21.1366
3,200 167.041 21.8944
3,328 162.177 21.2569
3,456 167.478 21.9517
3,584 163.453 21.4241
3,712 169.702 22.2432
3,840 161.897 21.2202
3,968 168.246 22.0523

Acties:
  • 0 Henk 'm!

  • Eliovp
  • Registratie: Mei 2006
  • Laatst online: 28-03 11:42
Zeer bizar idd.

Je hashrate blijft eigenlijk vrij consistent vergeleken met die van mij (als je kijkt op die link), ik heb getest op bijna een identiek systeem. R9 390X, windows 10.
Pagina: 1