Stránka 1 z 1

Zvýšení výkonu nVidia GPU

Napsal: stř 09 bře, 2011 22:54
od nenym
Kromě standardní metody - přetaktování s případným zvýšením napětí je u některých projektů vhodné zvýšit výkon v prvé řadě zajištěním dokonalého využití GPU. Týká se to projektů, které potřebují k výpočtům na GPU větší než malou podporu CPU:
- GPUGRID,
- Einstein,
- DistrRTgen,
- Seti Enhanced (pozorovatelné zvýšení výkonu je jenom u nejkratších úloh s DL 14 dnů).
Uvedeny pouze projekty s pravidelným přísunem práce. Projekty, které dávají vyšší výkon na ATI jsem se vůbec nezabýval (Collatz, DNETC, Milky Way).

Podstata spočívá v synchronizaci činnosti GPU a CPU. Vedlejším efektem je menší disponibilní zbytkový výkon pro CPU projekty. Nelze obecně říci, jakou část CPU si GPU projekt vezme, velmi záleží na poměru výkonu GPU a CPU. Moje pozorování
GPUGRID - celé jádro na 100% (GTX560+ Xeon 2,83 GHz, Win XP 64bit),
Einstein - 31%/35% jádra (9600GT + C2D 3,0GHz/2,13GHz, Win XP 32 bit),
Einstein - 24%/27% jádra (9600GT + C2D 3,0GHz/2,13GHz, Ubuntu 64bit),
DistrRTgen - Linux Cuda 23 a Windows Cuda32 - do 2%, Windows Cuda23 97% jádra při popstrčení na nejvyšší únosnou míru, 50% bez popstrčení priority CPU procesu.

Jak na to

Widle XP: Tento počítač - vlastnosti - upřesnit (=advanced) - systémové proměnné. Přidat systémovou proměnnou Swan_Sync s hodnotou Swan_Sync=0. Restart systému. Na Wistouz či W 6+1 zdarma to snad bude obdobné.

Ubuntu: V terminálu sudo gedit .profile, doplnit řádek export SWAN_SYNC=0. Reboot. Kontrola v terminálu env.

Doplňkové triky:
- uvolnit celé jádro (postavit mimo Boinc, tj u čtyjřádra snížit počet CPU na 75%), má velký smysl u GPUGRID a lze aplikovat i u DistrRTgen Windows Cuda23 (Linux a Windows Cuda32 zbytečné). U Einsteina kontraproduktivní.
- zvýšit prioritu CPU procesu u GPU aplikace. Velmi opatrně, otestovat po malých kročejích.
-- Widle: Pomocí Process Tameru. GPUGRID nejvýše na normal, Einsteina bez problémů na realtime, DistrRTgen s výhradou na realtime.
-- Ubuntu: Scriptem zvýšit niceness na -19 (Einstein, DistrRTgen), GPUGRID jsem zatím netestoval, ale nevidím žádný zvláštní důvod k této akci.
Příklad scriptu (Einstein), spuštěného cronem jako root - sudo gnome-schedule. Lze případně zasmyčkovat a owaitovat a spouštět v terminálu sudo sh jmeno_scriptu.

Kód: Vybrat vše

#!/bin/bash
PROCESS_NAME=einsteinbinary_BRP3_1.08_i686-pc-linux-gnu__BRP3cuda32nv270
PID=`ps -C $PROCESS_NAME -o pid=`
if [ $PID>0 ];
then renice -19 $PID;
fi 
Nejen já budu velmi potěšen zpětnou reakcí, poznatky či dalšími triky.

Poznámka k Ubuntu: Pro dosažení bezchybného průběhu výpočtů na GPUGRIDu je vhodné a v mnoha případech nezbytné po upgrade kernelu provést novou instalaci GPU driverů. Pokud se objeví chyba signal 11, měla by být přeinstalace GPU driverů prvním pokusem o nápravu.

Odkazy a zdroje inspirace
Process Tamer
Swan_Sync na Ubuntu_1, Ubuntu_2 a Wirouzech
Ubuntu niceness
DistrRTgen má samostatné vlákno.

Re: Zvýšení výkonu nVidia GPU

Napsal: pon 11 dub, 2011 23:41
od bundaboy
Ted o vikendu jsem mel hravou zkouseci naladu, tak jsem na vsech PC, co pocitaji GPUGrid, nastavil Swan_Sync a v BOINCu zakazal jedno jadro ciste pro potreby GPUGridu...

U GTS450 a GTX460SE s C2D E8400 se pocitaci doba zkratila o cca 45-50 minut (WinXP SP3).

U GTX570 s X4 630 byl ukol xxx-TONI_AB1-xxxx zpracovan dokonce o 100 minut driv, coz uz je docela slusne (W7 x64). Ostatni IBUCH ukoly se zkratily taky jen o tech cca 50 minut.

U tech dvou pomalejsich karet se hraje pomalu o kazdou minutu, aby se ty dlouhe ukoly stihly odevzdat do 24h, takze uspora 50 minut docela potesila. :smt023

Takze diky nenyme za pekny navod! 45nn

Pro ostatni - zkuste to taky, sice musite objetovat jedno CPU jadro, ale pokud chcete primarne pocitat GPUGrid, tak se to urcite vyplati.

Re: Zvýšení výkonu nVidia GPU

Napsal: úte 12 dub, 2011 21:21
od nenym
Jsem potěšen, že ti úprava funguje.
Zdá se, že na Widlích není proměnná Swan_Sync case sensitive, ale na Linuxu je, musí být napsána velkými písmeny SWAN_SYNC. Upravil jsem v tomto smyslu základní příspěvek a přidal druhý odkaz k Ubuntu.

Re: Zvýšení výkonu nVidia GPU

Napsal: čtv 09 čer, 2011 11:55
od nenym
Doplněn základní příspěvek o prevenci chyby signal 11 na Ubuntu.

Re: Zvýšení výkonu nVidia GPU

Napsal: stř 17 srp, 2011 10:11
od nenym
Základní příspěvek editován v pasážích, týkajících se projektu DistrRTgen.

Re: Zvýšení výkonu nVidia GPU

Napsal: stř 02 lis, 2011 19:36
od hanbanaroda
Doporučuje přidat odkaz na tento článek na stránky soutěže 45cc

Re: Zvýšení výkonu nVidia GPU

Napsal: stř 02 lis, 2011 20:20
od vkliber
Je v novinkách.

Re: Zvýšení výkonu nVidia GPU

Napsal: čtv 03 lis, 2011 11:35
od embarto
Další zajímavé informace, které se týkají počítání na GPU u projektu einstein@home konkrétně, naleznete také v tomto vláknu: http://forum.czechnationalteam.cz/viewt ... 9&start=20

Re: Zvýšení výkonu nVidia GPU

Napsal: pon 07 říj, 2013 11:47
od Murphy.cz
S ohledem na aktuální ovladače grafik, aktuální generaci GPU (6xx/7xx), aktuální aplikace pro GPUGRID a DistrRTgen a aktuální verzi BOINC (7.0.64), platí úvodní příspěvek bezezbytku nebo je zapotřebí nějaká aktualizace tam uvedených doporučení?

Strávil jsem pár dní na fóru GPUGRIDu a z těch protichůdných informací a pokynů a zkušeností uživatelů už mi jde hlava kolem :smt102

Re: Zvýšení výkonu nVidia GPU

Napsal: pon 07 říj, 2013 11:58
od nenym
Chtělo by to aktualizaci, valná část z toho již není tak úplně pravda. Třeba SWAN_SYNC nepomůže, ale ani neuškodí. Naopak popstrčení priority CPU procesu a/nebo uvolnění CPU jádra má pořád velký efekt. Něco s tím základním příspěvkem provedu.

Re: Zvýšení výkonu nVidia GPU

Napsal: pon 07 říj, 2013 12:23
od Murphy.cz
nenym píše:Něco s tím základním příspěvkem provedu.
Budu Ti zauzlován. Na BlackMilk jsem původně hodil DistrRTgen kvůli jeho bezproblémovosti, protože jsem neměl čas se věnovat ladění v pro mne naprosto neprobádané oblasti, ale chtěl bych, aby udělal co nejvíce práce na GPUGRIDu, a zjišťuji, že nějak nevím, jak ho správně nakonfigurovat. Sice počítá celkem hodně, ale pořád mám pocit, že mi něco uniká :roll:

Re: Zvýšení výkonu nVidia GPU

Napsal: pon 07 říj, 2013 12:42
od nenym
Pošli odkaz na stroj na GPUGRIDu (třeba přes SZ, pokud stroj nechceš zveřejnit), podívám se na to.

Re: Zvýšení výkonu nVidia GPU

Napsal: pát 11 dub, 2014 07:43
od Indy
Tak až dodnes jsem považoval za nepravdivé, resp. marketingový tah, tvrzení, že nové ovladače zvyšují výkon. Ale něco na tom asi bude :-)

Mám již nepodporované XP32bit, kde jedu PSA na 660Ti. Chtěl jsem si vylepšit statistiku na Collatz, ale nechtělo to jet, prý není práce (ale dle statusu na servru byla), tak jsem zkoumal požadavky a zjistil, že k chodu je třeba verzi ovladačů 320.xx a já tam měl nějakou 310.xx. Mrsknul jsem tam poslední verzi 335.28 a hned to jelo.

Dnes jsem rezervoval nový rozsah na PSA a zjistil jsem podle průběžných časů, že počítání skončí podstatně dříve než jsem předpokládal a pak jsem si všiml, že mi to ukazuje rychlost počítání místo původních cca 11,9M p/s něco kolem 14.9M p/s, což je dost podstatný rozdíl :!: :smt023

Re: Zvýšení výkonu nVidia GPU

Napsal: pát 11 dub, 2014 12:28
od zdenek
Občas se i zázraky dějí.

Re: Zvýšení výkonu nVidia GPU

Napsal: pát 11 dub, 2014 18:57
od Pollux
Nárůst výkonu jsem taky v PSA zaznamenal, celkově během 2 verzí ovladače vydaných za sebou došlo ke zlepšení výkonu o cca 29 %.

Re: Zvýšení výkonu nVidia GPU

Napsal: čtv 29 kvě, 2014 17:54
od nenym
Motto:

Swan Sync's body lies a-mouldering in the grave; (3X)
His soul's marching on!

Na W7 je SwanSync mrtev, ještě nedávno jaxi fungoval na GPUGRIDu na CUDA 4.0 aplikacích, s CUDA 6 aplikací jde o zbytečné mrhání výkonem CPU, blíže zde.

Velkou brzdou využití plného výkonu na W7 jsou jakési systémové ochrany zvané WDDM, které moc nechápu, nicméně se dají relativně jednoduše obejít. Blíže támhle a onde. Po doplnění registru je nutný restart. Počítejte však s možnou občasnou neočekávaně dlouhou odezvou systému na váš třeba myšoclickový požadavek v situacích kdy GPU jede naplno (tím nemám na mysli pouhý GPU load, ale též obsazenou VRAM a vytížení memory controleru, vše jest vidět na GPU-Z; aktuálně např. GPUGRID NOELIA BI_3 tasky). Pokud máte vnucený přetakt a provozujete GPUGRID (Afterburner a podobné, nemám na mysli boost u Keplerů+) a WDDM odstavíte, doporučuji stabilitu systému otestovat na short tasku v kombinaci s GPU náročnou střílečkou či tak nějak podobně. Ostatní projekty až tak háklivé nejsou, výjimkou je PG GFN, který jest ještě lechtivější. Testovat na short tascích s častým sledováním stderr, zda GFN task neposílá GPU do sleepu.

Vyzkoušeno úspěšně na W7 GTX 560Ti driver 337.88, prostředí bez aera. Výkon na GPUGRID NOELIA BI_3 tasku přibližně +7 %.

Zcela záměrně dávám pouhé odkazy bez polopatistického popisu, jde o zásah do registrů, takže by to měl dělat pouze ten, kdo ví, co dělá - včetně zálohy.

Re: Zvýšení výkonu nVidia GPU

Napsal: úte 05 zář, 2017 23:41
od Dzordzik
Můžu se zeptat jakou máš vyzkoušenou hodnotu na Win7, pokud máš, u TdrDelay? Mám tam 8s. Nehat byt? Swan sync jsem na W7 nenastavoval.

Re: Zvýšení výkonu nVidia GPU

Napsal: stř 06 zář, 2017 00:42
od nenym
S tím jsem nelaboroval, ani nevím která bije.

Re: Zvýšení výkonu nVidia GPU

Napsal: stř 15 lis, 2017 12:25
od nenym
Asi v půlce září jsem začal pátrat, co TdrDelay je a došel jsem k závěru, že návod https://www.reddit.com/r/battlefield_4/ ... ast_patch/ nemá chybu. Od nastavení na doporučenou hodnotu 10D (=0AH) mi nespadl ani jeden GPU task - tj. přes dva měsíce.
EDIT: přidán obrázek

Re: Zvýšení výkonu nVidia GPU

Napsal: stř 15 lis, 2017 14:05
od Dzordzik
Já tam mám už delší dobu hodnotu 8 a taky mi to nepadá. Nicméně pro méne znalé, je třeba tam dát hodnotu 10 a typu decimal, to je to 10D co píše Nenym.