AP26 search

Zaczęty przez Jarek Wróblewski, 31 Grudzień 2008, 22:19

Jarek Wróblewski

Skompiluj i przetestuj wersję z DUMMY.

Wsadzasz

#define DUMMY

gdzieś na początku programu. To niczego nie wydrukuje, ale pokaże czas przebiegu oprócz testowania pierwszości (DUMMY bez testowania oznacza wszystkie liczby jako złożone). Nie wiemy, co to GMP robi - jeżeli sobie umyśliło testować pierwszość w stylu 32-bitowym, to może to zżerać dużo czasu.

Dzięki temu będzie wiadomo, czy testowanie pierwszości jest kompilowane w miarę wydajnie. U mnie testowanie pierwszości zajęło 8.3 %.

Wersji DUMMY nie przyspieszysz już inaczej niż kompilacją.

Różnica czasu wersji prawdziwej i DUMMY to czas spędzony na testowanie pierwszości. Przy zachowaniu proporcji powinno to być u Ciebie 50-51 sekund.

Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

sesef

#81
Nie bardzo rozumiem o co chodzi z DUMMY.

Skompilowałem taką wersje, przeliczenie testowego zakresu zajęło 6 min a normalna wersja działa 6 min 11 sec czyli te 11 sec schodzi na testowanie pierwszości (+ ta validacja która również testuje pierwszość:P) ??



Edit
Dobra intel ściągnięty.
DUMMY przeliczył w 313 sec (5:13), co nadal nie zmienia faktu że to cholernie wolno :(



Wersja z SSE3 278 sec (4:28), do codziennego użytku taka wersja nie przejdzie co najwyżej SSE2. Nie przypominam sobie procesora na którym da się uruchomić windows x64 który nie miałby SSE2 więc na codzień co najwyżej będzie można SSE2 używać.

Jarek Wróblewski

Cytat: sesef w 17 Styczeń 2009, 17:43
Nie bardzo rozumiem o co chodzi z DUMMY.

Skompilowałem taką wersje, przeliczenie testowego zakresu zajęło 6 min a normalna wersja działa 6 min 11 sec czyli te 11 sec schodzi na testowanie pierwszości (+ ta validacja która również testuje pierwszość:P) ??

Dziwne, że tylko 11 sekund. W każdym razie to dowodzi, że testy pierwszości nie są czasochłonne.

Validacja nic nie testuje, bo DUMMY nie znajduje żadnych ciągów. Poza tym nawet w normalnym programie validacja w całym przedziale testowym powinna pochłaniać niezauważalny ułamek sekundy.

Cytat: sesef w 17 Styczeń 2009, 17:43
Dobra intel ściągnięty.
DUMMY przeliczył w 313 sec (5:13), co nadal nie zmienia faktu że to cholernie wolno :(

U mnie wersja dummy liczyła 266 sekund, a oryginalna z GMP 290 sekund na
Intel(R) Core(TM)2 Duo CPU  E8400  @ 3.00GHz.
U Ciebie jest nieco wolniejszy procesor (o 10%), a poza tym to może zależeć od parametrów procesora, których nie sposób przewidzieć. Czas w granicach 5-6 minut jest już całkiem sensowny. Trzeba by to przetestować na różnych procesorach, żeby naprawdę ocenić wydajność.

Tu jest podstawowy problem, żeby w ogóle cokolwiek skompilować, co chodzi w miarę sensownie, a nie bić rekordy superprędkości - przynajmniej w pierwszej wersji. Honza z forum PrimeGrida miał 15 minut.

Moja sugestia:
Spróbuj skompilować najwydajniej jak Ci się udaje poprawnie działająca wersję programu z BOINC i napisz o tym na forum PrimeGrida, udostępniając skompilowany program do testów. Niech już oni sobie ocenią, czy im na początek taka prędkość pasuje, czy chcą czekać na coś lepszego.
Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

sesef

Cytat: Jarek Wróblewski w 17 Styczeń 2009, 18:39
U mnie wersja dummy liczyła 266 sekund, a oryginalna z GMP 290 sekund na

Taki wynik został uzyskany na linuxie z tego co rozumiem??

Co do procesora zegar w zegar to daje 10% ale jakby zrobić dokładne testy do będzie więcej nawet wyłączając temu intelowi 1 rdzeń tak żeby miały "równe szanse" to Intel pochłonie tego mojego AMD więc porównując moje wyniki nie jest ogólnie tak tragicznie.

Jarek Wróblewski

Cytat: sesef w 17 Styczeń 2009, 18:54
Cytat: Jarek Wróblewski w 17 Styczeń 2009, 18:39
U mnie wersja dummy liczyła 266 sekund, a oryginalna z GMP 290 sekund na

Taki wynik został uzyskany na linuxie z tego co rozumiem??

Co do procesora zegar w zegar to daje 10% ale jakby zrobić dokładne testy do będzie więcej nawet wyłączając temu intelowi 1 rdzeń tak żeby miały "równe szanse" to Intel pochłonie tego mojego AMD więc porównując moje wyniki nie jest ogólnie tak tragicznie.

Tak, na linuxie. Ten Intel ma jeden rdzeń (formalnie ma dwa, ale z jakichś powodów administratorzy sieci włączyli tylko jeden). Nawet, gdyby miał dwa rdzenie, to sam program z tego nie korzysta (chyba, że się uruchomi dwa programy rozdzielając pracę).

Inne testy oryginalnego programu pod linuxem 64-bitowym:
731 sekund -  Intel(R) Pentium(R) D  CPU 2.66GHz (Pentium 805)
432 sekundy - AMD Athlon(tm) 64 Processor 3000+;  cpu MHz : 1809.303

Zwróć uwagę, że Gigaherce nie mówią wszystkiego - typ procesora i jego wady w przetwarzaniu różnych niewinnych operacji mogą wszystko zdominować, np. Pentium 805 miał wydajność bardzo słabą mimo sensownych Gigaherców i to już od kompilacji nie zależało, tylko od wad samego procesora. Natomiast ten nowy Intel to jedna z nowszych generacji procesorów, pewnie ma udoskonalone wykonywanie różnych instrukcji.

A co byś powiedział na takie cacko?
4-rdzeniowe Itanium 2, 1.4 GHz.
Super sprawa. Prawda? Raanan Chermoni zaczynał obliczenia na takich komputerach zanim dostał coś lepszego. Aż gębę rozdziawiłem ze zdziwienia, jaką to ma wydajność! Każdy rdzeń był 6.7 raza wolniejszy od rzeczonego wyżej Athlona, czyli był wart 0.15 Athlona.
4-rdzeniowy Itanium był w sumie wart 0.6 Athlona, bo akurat miał skopane wykonywanie jakichś instrukcji.
Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

sesef

Aplikacja skompilowana ze wszystkimi boincowymi dodatkami.

http://www.ee.pw.edu.pl/~jaworows/primegrid/AP26_WINx64.zip

U mnie czas przeliczania 4:50 (290 sec) dla testowego zakresu na AMD64 3200+ 2 Ghz@2.7 Ghz

Proszę o testy im szybciej przetestujemy tego appa prawdopodobnie tym szybciej będzie można rozwinąć skrzydła w AP26 i jeszcze bardziej powiększyć przewagę.

Jakby ktoś miał problemy typu "Cannot execute the specified program" albo podobne przy starcie programu (dotyczy wszystkich błędów zanim otworzy się konsola) proszę zainstalować to:
http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=en

Szopler

Redistribunty zainstalowane, a mimo to wyrzuca info o braku libmmd.dll.

emik

Cytat: Szopler w 18 Styczeń 2009, 12:30
Redistribunty zainstalowane, a mimo to wyrzuca info o braku libmmd.dll.

brakujący dll :http://www.dll-files.com/dllindex/dll-files.shtml?libmmd


Szopler

Wrzucony do folderu z ap26.exe oraz do windows/system32 i nadal to samo...

sesef

#89
Cytat: Szopler w 18 Styczeń 2009, 12:30
Redistribunty zainstalowane, a mimo to wyrzuca info o braku libmmd.dll.

Widzę że chyba spotkało mnie na kompilowaniu Intelem ten sam problem z którym borykał się mindc

Co do brakującego dll zobacz to: http://www.speedyshare.com/712891686.html

Plik umieść w katalogu gdzie masz aplikacje.

--------------------------------------------------------
Takiego problemu nie przewidziałem, będę musiał zainstalować sobie jakiś system na virtualce bo w systemie w którym sprawdzam mam poinstalowane kompilatory gdzie te biblioteki są i jak ich potrzebuje to sobie użyje a ja nawet się nie dowiem że ich używa.

Szopler

#90
Tych dll'i brakuje mi wg. DependencyWalker'a:
LIBMMD.DLL
DWMAPI.DLL

EDIT:
OK - na tych ze speedyshare chodzi :)

Zawartość plików:
a) AP26-ini.txt
76000000 76000000 640
b) AP26-state.txt
76000000 76000000 640 76000001 0 85

c) SOL-AP26.txt
11 76000000 237196596534720983
10 76000000 261285664232309413
11 76000000 245863618658643989
11 76000000 255672492975704803
11 76000000 246758454654478271
12 76000000 239683100514196253
10 76000000 261577529875648267
11 76000000 265146928947598571
13 76000000 219960250410820847
10 76000000 264184740340459621
10 76000000 254437677249184591
10 76000000 262024996718320189
11 76000000 235066907929601569
11 76000000 241339505938284671

d) stderr.txt
Can't open init data file - running in standalone mode
called boinc_finish

sesef

Szopler przejedź najlepiej ten zakres który był podany w AP26-ini.txt na początku czyli

Cytat366384 366384 0

Szopler


sesef

Ta wersja nie powinna już pluć się że brakuje jej tego dll-a

http://www.ee.pw.edu.pl/~jaworows/primegrid/AP26_WINx64v2.zip

Szopler

AP26-ini.txt
366384 366384 0

AP26-state.txt
366384 366384 0 366385 0 85

SOL-AP26.txt
11 76000000 237196596534720983
10 76000000 261285664232309413
11 76000000 245863618658643989
11 76000000 255672492975704803
11 76000000 246758454654478271
12 76000000 239683100514196253
10 76000000 261577529875648267
11 76000000 265146928947598571
13 76000000 219960250410820847
10 76000000 264184740340459621
10 76000000 254437677249184591
10 76000000 262024996718320189
11 76000000 235066907929601569
11 76000000 241339505938284671
10 366384 785436737771879
10 366384 16137071418665303
10 366384 13946622976437587
10 366384 8734502163109357
11 366384 6998839830228583
10 366384 785468127438811
11 366384 5581880890832023
25 366384 6171054912832631
10 366384 9684491327954279
10 366384 3267586960583089
10 366384 1459178643530617
10 366384 9735298495263823
10 366384 1727805601738891
10 366384 1574579779396307
10 366384 2138118918508471
11 366384 10613929284401483
10 366384 14083229671187167
11 366384 16518632605478693
11 366384 3007107694524497
10 366384 1255892682660361
11 366384 7036595108074969
10 366384 8188609810134857
10 366384 2411963918614357
11 366384 6569259450263561
10 366384 13700995611657901
14 366384 15879407069784169
11 366384 6250872237076277
10 366384 7687488261269507
10 366384 660669773389609
10 366384 11977568522771779
10 366384 1540799946122147
12 366384 14782924219657043
10 366384 13812949836154363
11 366384 2003229604981763
10 366384 14531182366753699
13 366384 15731878523384263
13 366384 2167218735183577


Czyli jak widać nie nadpisuje pliku tylko dodaje następne linie - jak kontynujemy obliczenia to OK... Podoba mi się :).

stderr.txt
Can't open init data file - running in standalone mode
called boinc_finish
Can't set up shared mem: -1
Will run in standalone mode.
called boinc_finish


Przy czym 2 pierwsze linie to chyba z poprzedniego uruchomienia.

sesef

dla testowego zakresu wyniki zwróciło poprawne :)

Jakbyś jeszcze mógł to ściągnij to http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx i jak odpalisz właściwości uruchomionego procesu AP26 to powinieneś "User time" jak możesz to podaj ten czas po tym jak się skończy przeliczać. Pamiętaj żeby usunąć wszystkie pliki z katalogu po za exekiem i AP26-ini.txt i do tego podał machinę na jakiej liczysz.

Szopler

#96
Dobra... testnę.

EDIT:
User Time 5:17.500
Total Time 5.17.625

Intel Core 2 Duo T9300 (2.5GHz) / 2GB RAM / WinXP x64

sesef

Cytat: RytisSeems to be running fine in standalone. I'm making this public version. Thanks, Sesef!

No to teraz pozostało czekać aż zrobią co potrzeba i będzie można mielić również pod windowsem :)

Szopler

#98
Yeeeeeeeah!

AP26 Search
Supported platforms:

    * Windows: 64bit
    * Linux: 64bit


Ściągnęło APP'a i LICZY! XD

Jarek Wróblewski

Rytis napisał:

Well, for some reason Windows versions is twice as slow comparing with Linux...

Czy to prawda? Jak się mają do tego testy prędkości?
Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

PBT_marian_boss

U mnie pierwsze próbki pobrane
PrimeGrid|Finished download of primegrid_ap26_1.00_windows_x86_64.exe
Zaraz podam jak długo się liczą

Szopler

#101
Może inaczej...

Czasy dla Windows x64:
1,080.50
1,072.75
1,104.47
1,077.45
1,014.81
1,019.17
996.58

Czasy dla Ubuntu x64:
2,908.26
2,739.77
2,935.32
2,772.49

Ten sam komp i uwaga - to nie jest błąd :).
Patrzone przez Your account / Computers / Tasks

Jarek Wróblewski

Cytat: Szopler w 18 Styczeń 2009, 19:58
http://www.primegrid.com/results.php?userid=27038

No access
Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

emik

Cytat: Szopler w 18 Styczeń 2009, 19:58
Może inaczej...

Czasy dla Windows x64:
1,080.50
1,072.75
1,104.47
1,077.45
1,014.81
1,019.17
996.58

Czasy dla Ubuntu x64:
2,908.26
2,739.77

Ten sam komp i uwaga - to nie jest błąd :).
Patrzone przez Your account / Computers / Tasks

coś strasznie długo liczą ci się na linuxie - ja mam słabszego procka a średnio liczą mi się 1,400 s


Jarek Wróblewski

Cytat: Szopler w 18 Styczeń 2009, 19:58
Różnie i różniście... 13 do 17 minut zależnie od obłożenia kompa innymi zadaniami ;)

No to nie wiem, w czym problem.

Patrzę tu:

http://www.primegrid.com/show_host_detail.php?hostid=80069

Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40 GHz (Ty masz zdaje się 2.50), czasy około 12 minut.
To wcale nie jesteś wolniejszy 2 razy.

Tutaj:

http://www.primegrid.com/show_host_detail.php?hostid=90454

AMD Athlon(tm) 64 X2 Dual Core Processor 4000+
leci koło 16 minut na próbkę.

Z tego, co mi się wydawało grzebiąc po takich danych, to rzędu 15 minut na próbkę jest całkiem sensowne.

Jak rozumiem, próbek powinno się na raz liczyć tyle, ile jest rdzeni - pewnie ktoś z Was wie jak to działa.

W każdym razie 100 próbek na dobę na rdzeń wydaje się całkiem sensowne.

Geoff pisał na forum PrimeGrida:

On my C2D at 2.66GHz in 64-bit mode the test range took 303 seconds with the original GMP PrimeQ() and 287 seconds with the replacement long double PrimeQ(), so the replacement doesn't make a huge difference.

Czyli rzędu 5 minut na przedział testowy (u Geoffa na linuxie), a próbka to 3 takie przedziały (czasem o parę procent więcej).

Czyli na gołe gigaherce, to paręnaście minut na próbkę na 2-3GHz jest w/g mnie OK, a że różne procesory mogą sie różnie zachowywać, to inna sprawa. Może jakoś gra tu jeszcze wersja systemu operacyjnego lub powiązanie kompilacji z procesorem - ja się już na takich subtelnościach nie znam.
Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

Szopler

#105
Odpaliłem UBUNTU i widzę... czas przewidywany przez menadżera = 50 minut, pod win jest 20 minut.
32,549% policzyło pod Linuksem w równo 15 minut. Doliczam te dwie próbki i wracam na windę...
Nie mam pojęcia skąd takie różnice... a może wiem - ubuntu jest zainstalowany tak, że korzysta nie z dysku tylko z jednego wielkiego pliku - plikopartycji...

sesef

#106
Cytat: Jarek Wróblewski w 17 Styczeń 2009, 20:15
432 sekundy - AMD Athlon(tm) 64 Processor 3000+;  cpu MHz : 1809.303

Zaciekawiła mnie bardzo wypowiedź że Windows jest 2x wolniejszy, postanowiłem porównać swoje wyniki do tego procesora architektura jest ta sama (K8) jedyne czym mogą się różnić to wielkość cache i samym rdzeniem (mój to Venice, nazwę rdzenia podaje chociażby program CPU-Z więc to jest do sprawdzenia) mój 3200+ co prawda ma startowo 2000 Mhz do tego jest podkręcony na 2700 Mhz dlatego wróciłem do startowych ustawień czyli HTT na 200 Mhz (tak jest fabrycznie) tylko zmieniłem mnożnik z 10x (daje 10x 200 = 2000 Mhz) na 9x (daje 9x 200 = 1800 Mhz) co dało mi takie samo taktowanie jak wyżej wymieniony Athlon, załadowałem Windowsa 7 Beta 1 odpaliłem aplikacje i process explorer żeby zmierzyć czas (sam uruchomiony process explorer zabiera 1-3% mocy procesora) uzbrojony w taki zestaw testowy uruchomiłem testowy zakres czas przeliczania wyniósł 7:19 co daje 439 sec. Po takich testach zegar w zegar na tej samej architekturze stwierdzam że wyniki są takie same dla tej dystrybucji linuxa (zgaduję Ubuntu) oraz Win 7 Beta (na XP może być trochę wolniej na 2008 troszkę szybciej ale różnice nie powinny wynosić więcej niż 10-15 sec), te 7 sec różnicy między Win a Linuxem praktycznie można pominąć i przyjąć jako stratę generowaną przez process explorer który pobiera 1-3% mocy procesora.

Najlepiej jakby ktoś zebrał te nasze czasy i napisał na forum PrimeGrid-a bo moja łamana angielszczyzna może kiepsko wyglądać.

@Szopler
Spiesz się z tym Win7 bo tylko do 24 stycznia można sobie legalnie wygenerować CD-key (który i tak się bardzo często powtarza :p)

Szopler

Kolejne 2 WU na tym nieszczęsnym ,niepełnowartościowym ;) Ubuntu:
48m55s i 46m12s. Wracam do WINXP ;) a wkrótce może Win7...

Jarek Wróblewski

#108
Póki co, ktoś tam napisał, że WU mu chodzi około 800 sekund.

Te 432 sekundy, to było bez optymalizacji Geoffa, które zaoszczędziły ok. 5%.

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 47
model name      : AMD Athlon(tm) 64 Processor 3000+
stepping        : 2
cpu MHz         : 1809.283
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni
bogomips        : 3620.21
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

EDIT:

Idę spać. Jak rozumiem, na razie tylko Szopler liczył nowym programem WU PrimeGrida. Jak będą dokładne dane od większej liczby użytkowników, to mogę coś rano napisać na forum PrimeGrida.

A co do sesefa, to uważam, że wykonał kawał dobrej roboty i powinien dostać za to jakiś forumowy medal (przynajmniej coś takiego jak Machloj i ja za AP19).

EDIT:

John i Rytis z PrimeGrida przyznali, że błędnie zinterpretowali pomiar prędkości AP26 linux/Win i że w rzeczywistości wydajność jest porównywalna (Win wydaje się być nieznacznie wolniejsza). Można więc spokojnie liczyć pod Win64 bez obawy o marnowanie mocy.

Wersja 32-bitowa jest 8 razy wolniejsza i nie będzie udostępniona publicznie (i się z tym zgadzam, bo to byłoby do pewnego stopnia marnowanie zasobów, Sita mają przebitkę 2:1, a LLR 1:1).

Rytis napisał:
Augustine, while we are not going to release 32bit applications for AP26, it is possible to compile and run your own if you'd want to - the source code is public.

Czyli, ja rozumiem, że jak ktoś się uprze i mimo wszystko chce liczyć na 32-bitach, to niech sobie sam kompiluje. Zwracam jednak uwagę, że WU na 32 bitach zamiast 15 minut chodziłby ok. 2 godzin, za 13.61 kredytu.

W wątku
http://www.primegrid.com/forum_thread.php?id=1179
jest też opis, co zrobić, jak się ma 32-bitowy system na 64-bitowym procku. Bierze się jakieś Wubi i chodzi jak na 64 bitach - ja się na tym kompletnie nie znam.
Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

TJM

Cytat: Jarek Wróblewski w 18 Styczeń 2009, 21:15

W wątku
http://www.primegrid.com/forum_thread.php?id=1179
jest też opis, co zrobić, jak się ma 32-bitowy system na 64-bitowym procku. Bierze się jakieś Wubi i chodzi jak na 64 bitach - ja się na tym kompletnie nie znam.

To nie takie proste, bo Wubi to instalator Ubuntu, system instaluje się co prawda na partycji windows, ale jest to samodzielny system operacyjny i jego uruchomienie wymaga zamknięcia windy (restart).

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

mindc

Cytat: Szopler w 18 Styczeń 2009, 19:58
Może inaczej...

Czasy dla Windows x64:
1,080.50
1,072.75
1,104.47
1,077.45
1,014.81
1,019.17
996.58

Czasy dla Ubuntu x64:
2,908.26
2,739.77
2,935.32
2,772.49

Ten sam komp i uwaga - to nie jest błąd :).
Patrzone przez Your account / Computers / Tasks

hmmm... a u mnie bez róznicy
q6600 @ 3GHz

winxp x64
Cytat
84697442    57504202     18 Jan 2009 17:43:10 UTC     19 Jan 2009 11:05:39 UTC     Over    Success     Done    880.16     5.82     13.61
84697441    57504201    18 Jan 2009 17:43:10 UTC    19 Jan 2009 11:00:45 UTC    Over    Success    Done    826.16    5.46    13.61
84697438    57503996    18 Jan 2009 17:35:29 UTC    19 Jan 2009 4:38:41 UTC    Over    Success    Done    828.34    5.48    13.61
84697437    57503995    18 Jan 2009 17:35:29 UTC    19 Jan 2009 4:31:42 UTC    Over    Success    Done    840.09    5.56    13.61
84697424    57504200    18 Jan 2009 17:43:10 UTC    19 Jan 2009 10:53:43 UTC    Over    Success    Done    847.52    5.60    13.61

ubuntu x64, na tej samej maszynie, w wirtualce
Cytat
84695362    57501773    18 Jan 2009 10:19:55 UTC     18 Jan 2009 13:33:40 UTC     Over    Success     Done    847.11     5.14     13.61
84695328    57501737    18 Jan 2009 10:14:48 UTC    18 Jan 2009 13:24:16 UTC    Over    Success    Done    815.47    4.95    13.61
84695309    57501702    18 Jan 2009 10:07:28 UTC    18 Jan 2009 13:20:30 UTC    Over    Success    Done    824.02    5.00    13.61
84695291    57501689    18 Jan 2009 10:03:06 UTC    18 Jan 2009 13:11:33 UTC    Over    Success    Done    860.62    5.23    13.61
84695260    57501665    18 Jan 2009  9:53:01 UTC    18 Jan 2009 13:06:37 UTC    Over    Success    Done    881.62    5.35    13.61


emik

tak jak pisał Szopler - może problemem jego dłuższego przeliczania, jest sposób instalacji ubuntu jako plikopartycji pod windowsem


TJM

Niby jakim cudem plikopartycja miałaby zwalniać obliczenia ? Tak samo dobry nośnik danych jak każdy inny.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

Jarek Wróblewski

Cytat: TJM w 19 Styczeń 2009, 16:39
Niby jakim cudem plikopartycja miałaby zwalniać obliczenia ? Tak samo dobry nośnik danych jak każdy inny.


Inna sprawa, że programowi nośnik danych nie jest zbyt potrzebny. Wpisuje do pliku linijkę co kilka sekund, a jak ma dość cache procesora, to nawet RAM-u nie rusza.
Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

Szopler

Faktycznie nie powinno mieć to wpływu... W takim razie nie wiem co ma. Ubuntu na pewno 64 bit.

Jarek Wróblewski

Cytat: Szopler w 19 Styczeń 2009, 17:17
Faktycznie nie powinno mieć to wpływu... W takim razie nie wiem co ma. Ubuntu na pewno 64 bit.

Na pewno masz 64 bity. Na 32 bitach musiałbyś proca podkręcić do 5GHz w ciekłym azocie, żeby mieć szansę się wyrobić z WU w godzinę, a Ty się wyrabiałeś poniżej 50 minut (co wymaga przynajmniej 6GHz na 32 bitach).
Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

ksysju

Hi

Jak ciekawostkę napisze, że Celeron ok 3G liczy wu jakieś 28min   ;)

--
ksysju
ksysju

Jarek Wróblewski

Nie robiłem testów, ale pisząc program założyłem, że w miarę możliwości program powinien korzystać z cache procesora i nie ruszać RAM-u.

Mogę sobie więc wyobrazić, że jest jakaś krytyczna wartość cache procesora, poniżej której program wchodzi do RAM-u i spowalnia.

To tylko teoretyczne przypuszczenia, nie poparte żadnymi eksperymentami.

Same dane, które są w wyraźnie zadeklarowanych tablicach, jak liczyłem, powinny się mieścić w jakichś 120kb.
Nie wiem, ile zajmuje reszta programu, ani też nie bardzo wiem jak mierzyć tak małe użycie pamięci. Być może także sam system operacyjny, czy inne uruchomione programy jakoś wpływają na ilość cache dostępnego dla samego programu - to tylko moje naiwne wyobrażenia, dokładnie się na tym nie znam.
Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

Jarek Wróblewski

Chyba wyjaśniła się tajemnica cudownej siły 64 bitów w programie AP26.

Otóż kompilatory 32-bitowe mają kompletnie zrąbane dzielenie liczb 64-bitowych przez małe liczby ustalone w kodzie programu. Można dostać kilkukrotne przebicie prędkości wykonując to dzielenie w inny, bardzo prosty, sposób. Dla mnie jest to szokujące, że kompilator nie umie wydajnie skompilować elementarnej operacji typu n%101 i że robiąc to dzielenie po swojemu (żadnych asemblerów, czyste C !!!), można przyspieszyć program kilkakrotnie.

Dokonałem odpowiedniej zmiany w programie i Geoff Reynolds twierdzi, że teraz stosunek prędkości 64:32 bitów jest w okolicach 1,7. To jest już całkiem sensowne i moim zdaniem jest spora szansa, że w przyszłości AP26 ruszy też na 32 bitach.

Zdaje się, że wersja zoptymalizowana na 32 bity jest u Geoffa w katalogu z programem. Może ktoś się chce pobawić w testowanie?
Znaleziono AP26:

http://www.primegrid.com/forum_thread.php?id=1246#22466

Szopler

Chętnie potestuję ...