- 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
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.