GPU w GCW Sieve

Zaczęty przez Genn, 06 Styczeń 2011, 12:41

Genn

Na horyzoncie pojawiła się kolejna aplikacja GPU dla PG http://www.primegrid.com/forum_thread.php?id=2988 .
Do abordażu  :attack:
Testy wyglądają dobrze, więc pewnie lada dzień aplikacja będzie rozsyłana jako stabilna.



S6X

Extra, widać że Cuda robi swoje  ;D

Nawiedzony

ciekawe jak wyjdzie porównanie GCW sieve i PPS sieve na Cudkach pod względem pkt/h  8)

choć to może stworzyć pewne utrudnienia  :book: bo teraz żeby liczyć PPS sieve tylko na gpu wystarczyło odznaczyć jako subprojekt i zaznaczyć "use gpu" + "send work form another..." i działa  ;)
A jeśli wyjdzie też druga app na GPU to będzie je wysyłało losowo, czy będzie jakaś metoda wyboru spomiędzy tych dwóch TYLKO na gpu? Bo jak będzie tylko na zasadzie losowej/ na przemian to będzie niefajnie  :(

Troll81

zaznaczyć w projektach że ma liczyć tylko PPS :D

Nawiedzony

Cytat: Troll81 w 06 Styczeń 2011, 13:43
zaznaczyć w projektach że ma liczyć tylko PPS :D

:book: o ile mi nie wyśle w tedy dodatkowo app na cpu, bo tego bym nie chciał - sprawdzi się w praktyce

ps.
patrzyłem ostatnio do statystyk i czyżbyś znów zaczął liczyć PG Trollu?  8)

emik

w ustawieniach możesz zaznaczyć aby nie wysyłało wu na CPU


Nawiedzony

Cytat: emik w 06 Styczeń 2011, 14:29
w ustawieniach możesz zaznaczyć aby nie wysyłało wu na CPU

no ale o to właśnie chodzi, że ja przede wszystkim liczę LLR na cpu bo system 32bit i dla tego sieve tylko na gpu i jak nie będzie później możliwości wyboru miedzy konkretnymi sieve tylko gpu, albo będzie wysyłało też cpu - to będzie mało fajne ;)

S6X

Cytat: S6X w 18 Grudzień 2010, 14:18
Instrukcja jak liczyć PPS (Sieve) na GPU.  8)


1 Wykonywanie obliczeń na procesorze (CPU) i karcie graficznej (GPU).

-W ustawieniach projektu "PrimeGrid preferencje"zaznacz "use CPU" oraz "use ATI GPU" lub "use Nvidia GPU".
-W ustawieniach projektu "PrimeGrid preferencje"zaznacz tylko PPS (Sieve).

2 Wykonywanie obliczeń na karcie graficznej (GPU) i liczenie na CPU innych podprojektów Primegrid.

-W ustawieniach projektu "PrimeGrid preferencje"zaznacz "use CPU" oraz "use ATI GPU" lub "use Nvidia GPU".
-Zaznacz inne podprojekty które chcesz liczyć na CPU.
-Nie zaznaczaj podprojektu PPS (Sieve).
-Zaznacz "Send work from any subproject if selected projects have no work".

W ten sposób wybrane przez Ciebie projekty będą liczonę tylko na CPU ponieważ wersje na GPU nie są dostępne. Zaznaczając
"Send work from any subproject if selected projects have no work" Boinc będzie wysyłał dowolne zadania dostępne na GPU, konkretnie
zadania od PPS (Sieve).

Jeżeli nie chcesz wykonywać zadań na CPU, W ustawieniach projektu "PrimeGrid preferencje" odznacz "use CPU" i zaznacz PPS (Sieve).

CUDA

Powinno działać bez modyfikacji pliku app_info. Boinc powinien pobrać wszystkie potrzebne pliki takie jak:cudart.dll dla windowsa i libcudart.so.2
(32-bit, 64-bit) dla linuksa. Wymagane jest zainstalowanie NET Framework 3.5 lub plików msvcrt90.dll. msvcrt90.dll które będą w najbliższym czasie wysyłane przez boinc automatycznie.

ATI/OpenCL

Powinno działać bez modyfikacji pliku app_info. Boinc powinien pobrać wszystkie potrzebne pliki. Należy zainstalować "Accelerated Parallel Processing (APP) package"
ponieważ zawiera sterowniki obrazu i OpenCL. Sterowniki pobieramy z http://support.amd.com/us/gpudownload/Pages/index.aspx należy się upewnić że w opisie są wymienione sterowniki OpenCL.

Dla multigpu lub liczenia kilku WU jednocześnie należy zmodyfikować plik app_info.

http://www.primegrid.com/forum_thread.php?id=2904

Wygląda że na chwile obecną będzie losowe liczenie na gpu różnych podprojektów, pewnie jak zwiększy się liczba podprojektów na gpu to pojawi się rozwiązanie problemu, albo przyjdzie nam liczyć na chybił trafił  ;)

Troll81

Cytatczyżbyś znów zaczął liczyć PG Trollu? 

od kiedymam pudełko z nv8200 na pokładzie to co ma się maleństwo nudzic :D liczy WCG i PG

Nawiedzony

@S6X
czyli tak jak myślałem i się trochę tego obawiałem - no ale cóż może szybko rozwiążą tą sprawę dla osób które liczą głównie CPU ;)

@Troll81
nV8200? - skąd takiego antyka dorwałeś?  ;D swoją drogą jaką to ma wydajność?  ;)

centylion torun

Cullen / Woodall Prime Search (sit) już jest  aplikacja oficjalna na gpu

emik

zassysam - zobaczymy jak karmi


Troll81


emik



dziubas

u mnie się wywalają:
czw, 20 sty 2011, 01:36:48   PrimeGrid   Aborting task gcwsieve_7569657_106824380e6_106824440e6_0: exceeded elapsed time limit 475.615168

* Death is the highest priority non-maskable interrupt *

emik

u mnie też wywala błędy


Nawiedzony

jak komuś uda sie przeliczyć to niech napisze jak punktuje  :attack:

pszyklejony

#17
64 bit jest na Linuxa.

toms83

Cytat: Nawiedzony w 20 Styczeń 2011, 08:05
jak komuś uda sie przeliczyć to niech napisze jak punktuje  :attack:

Punktuje tak samo jak próbka na cpu.

_Aleksander_

Wygląda na to, że na problem z "exceeded elapsed time limit" rozwiązaniem jest modyfikacja pliku app_info.xml.
Chodzi o pole <flops>1e11</flops> które powinno zostac zamienione na niższą wartość <flops>1e9</flops>  dla wolniejszych kart...
Sam jeszcze tego rozwiązanie nie testowałem, ale tak wynika z lektury wątku: http://www.primegrid.com/forum_thread.php?id=2988 (Message 31023)

dziubas

puszczałem bez app_info

http://www.primegrid.com/forum_thread.php?id=3038#31248
   we are working on it.
   Soon I will create a new batch wu, and I hope it will work then.
* Death is the highest priority non-maskable interrupt *

_Aleksander_

No to poczekamy na te nowe WU i też rzucę do walki moje GT240  :attack:

dziubas

#22
podobno juz poprawione, liczę właśnie jedno WU i już przeszedłem feralną 8 minutę

ok, GT240 niekręcona linux64: 1,301.14s    364.4 pts - prawie 3x mniej punktów/min niż PPSsieve
* Death is the highest priority non-maskable interrupt *

Nawiedzony

#23
Aplikacje            Run time      CPU time   punkty
               (sec)         (sec)

Proth Prime Search      2,637.05      34.02      2,311.00
(Sieve) v1.38 (cuda23)

Cullen/Woodall Prime Search   1,128.61      7.55      364.43
(Sieve) v1.12 (cuda23)

Przykłady dla nV GT240 pod win32
po przeliczeniu wygląda to tak:
PPS Sieve: 1 punkt co 1.14 sekundy
CW Sieve: 1 punkt co 3.1 sekund

w przeliczeniu nowa gpu app punktuje 2,7 razy gorzej niż pps_sr2 sieve - a nie ma możliwości wyboru przy równoczesnym liczeniu na cpu  :wth: :wth:

mimeq

A jaka roznica miedzy Cullen/Woodall Prime Search CPU/GPU jesli chodzi o czas ? Pytam z czystej ciekawosci bo nie mam takiej odznaki a na GPU chyba bedzie szybciej  ?


Nawiedzony

Cytat: mimeq w 20 Styczeń 2011, 22:54
A jaka roznica miedzy Cullen/Woodall Prime Search CPU/GPU jesli chodzi o czas ? Pytam z czystej ciekawosci bo nie mam takiej odznaki a na GPU chyba bedzie szybciej  ?

jak masz w miare dobrą kartę nV to kolosalna na plus GPU XP

Troll81

i bardzo dobrze. Może w końcu skoncza z ta inflacja punktową.....

dziubas

jestem kiepski z matmy :shame: ale wciąż mi wychodzi 2.7 (prawie 3 razy) gorzej, to i tak przedziwna różnica, komuś bardzo zależy żebyśmy liczyli PPS
* Death is the highest priority non-maskable interrupt *

Troll81

może w końcu obniżą punktację?

Nawiedzony

Cytat: dziubas w 20 Styczeń 2011, 23:04
jestem kiepski z matmy :shame: ale wciąż mi wychodzi 2.7 (prawie 3 razy) gorzej, to i tak przedziwna różnica, komuś bardzo zależy żebyśmy liczyli PPS

a nie sorki - mój błąd, masz rację 2,7x mniej - źle mi się przecinek wpisał do liczydła  ::)

mimeq

~20min na 8800GTS za 364.43 pkt. Nie wiem jak to wychodzi na CPU ale odznake trzeba zdobyc  :)
Choc sporo WU sie wysypuje np:

<core_client_version>6.10.58</core_client_version>
<![CDATA[
<message>
- exit code -150 (0xffffff6a)
</message>
<stderr_txt>
--pmin=113259740000000 from command line overrides pmin=1000000001 from `input'
Sieve started: 113259740000000 <= p < 113259860000000
Thread 0 starting
Detected GPU 0: Device Emulation (CPU)
Detected compute capability: 9999.9999
Detected emulator!  We can't use that!
Sleeping 10 minutes to give the server a break.
20:05:17 (3256): called boinc_finish

</stderr_txt>
]]>


<core_client_version>6.10.58</core_client_version>
<![CDATA[
<message>
Niepoprawna funkcja. (0x1) - exit code 1 (0x1)
</message>
<stderr_txt>
--pmin=113260820000000 from command line overrides pmin=1000000001 from `input'
Sieve started: 113260820000000 <= p < 113260940000000
Thread 0 starting
Detected GPU 0: GeForce 8800 GTS
Detected compute capability: 1.0
Detected 12 multiprocessors.
Cuda error: kernel invocation: unknown error
19:47:19 (3096): called boinc_finish

</stderr_txt>
]]>


I na 27 skonczonych WU - > Factors found   0   :book:


pszyklejony

Jakiś emulator wykrył i nie chce tego?

mimeq

Nie ma tam nic oprocz sterow do kompa, firefoxa, boinca i logmein wiec nie wiem co sobie tam wykryl (chyba ze ma to cos wspolnego z przeinstalowywaniem sterow na najnowsze (266.58)  nie wylaczajac boinca).


krzyszp

To nie problem sterów?

Na Ubuntu to jest znany już przeze mnie problem, stery 256.xx działają ok, a 266.xx nie są widziane przez BM...

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

Nawiedzony

Cytat: mimeq w 22 Styczeń 2011, 20:48
~20min na 8800GTS za 364.43 pkt. Nie wiem jak to wychodzi na CPU ale odznake trzeba zdobyc  :)

na CPU ten czas się mierzy w godzinach ;) na w miarę dobrym CPU około 4h

Nawiedzony

#35
a mi się teraz wysypało WU z takim komunikatem:
Stderr output

<core_client_version>6.10.58</core_client_version>
<![CDATA[
<message>
Maximum elapsed time exceeded
</message>
<stderr_txt>
--pmin=107089220000000 from command line overrides pmin=1000000001 from `input'
Sieve started: 107089220000000 <= p < 107089280000000
Thread 0 starting
Detected GPU 0: GeForce GT 240
Detected compute capability: 1.2
Detected 12 multiprocessors.


Unhandled Exception Detected...

- Unhandled Exception Record -
Reason: Breakpoint Encountered (0x80000003) at address 0x7C90120E

Engaging BOINC Windows Runtime Debugger...



Wcześniej bez żadnych zmian, przeliczało poprawnie WU - chyba jeszcze nie dopracowane mają te próbki...

i co oznacza, że wykryto 12 multiprocessors!?

mimeq

Cytat: Nawiedzony w 23 Styczeń 2011, 19:30
Wcześniej bez żadnych zmian, przeliczało poprawnie WU - chyba jeszcze nie dopracowane mają te próbki...

i co oznacza, że wykryto 12 multiprocessors!?

W mojej 8800GTS jest tez 12 multiprocesor  czyli pewnie  Twoja  GT 240 ma tez 96 procesorow strumieniowych ...

http://www.nvidia.pl/page/geforce_8800.html
http://www.nvidia.pl/object/product_geforce_gt_240_pl.html

Heh a taka by sie zdawala roznica czasowo-technologiczna, tylko compute capability masz 1.2 a ja 1.0 ...
Jaki masz czas na tej 240 w przypadku GCW Sieve ??


Nawiedzony

a teraz mi zmieniło log w boincu  :wth:
2011-01-23 19:41:05 NVIDIA GPU 0: GeForce GT 240 (driver version 26099, CUDA version 3020, compute capability 1.2, 512MB, 288 GFLOPS peak)


wcześniej było 257 - nie wiem co jest grane  :wth:

no też mam 96 - czyli, że co, dzieli sobie na 8?

około 18 minut

mimeq

Nie znam sie na sprawach "strikte" technicznych - pewnie kazdy multiprocesor to 8 procesorow strumieniowych.
Czyli Twoja 240ka jest szybsza od mojej 8800 o jakies ~3min/WU


Nawiedzony

no w tym projekcie tak - choć pod względem zużycia energi/pkt - wypada pewnie o niebo lepiej  ;)

po restarcie systemu błąd w gflops peak się naprawił - wniosek z tego taki - że taki wadliwy WU z GCW może popsuć też kolejne obliczenia :wth: