[2017-09-03 - 2017-09-08] Number Theory Week Challenge

Zaczęty przez sirzooro, 25 Sierpień 2017, 21:58

sirzooro

Ledwo skończyliśmy Solar Eclipse Challenge, a tu zaraz będziemy mieli kolejny wyścig - Number Theory Week Challenge. Startujemy w niedzielę 3-go września o 18 UTC (20 wg naszego czasu) i walczymy przez 5 dni. Tym razem liczyć będziemy szukać liczb pierwszych w projekcie 321 Prime Search (LLR). Obecność obowiązkowa! :attack: :attack: :attack:

_Aleksander_


Troll81


Ufol

Ja również stawię się na starcie. Zastanawiam się jedynie jak mielić. Tzn. czy przestawić liczenie na dwu, lub nawet 4wątkowe. Obawiam się bowiem nieco, czy działając bez modyfikacji ustawień, można się wyrobić w terminie na moim sprzęcie.

Krzysiak



>>Moja szczegółowa sygnatur<< %)                                      >> Spis moich odkrytych liczb pierwszych << :whistle:

stiven

Kilka dni na testy jest. Chyba warto sprawdzić na konkretnym sprzęcie czy lepiej wypadnie t3 czy t4.

sirzooro

Lepiej jest liczyć na wątkach, zwłaszcza pod koniec wyścigu - zawsze to lepiej odesłać 3 wyniki niż nie odesłać 4.

Ufol

Zgodnie z obietnicą złożoną w wątku traktującym o niedawno zakończonych regatach, czyli tym:
http://www.boincatpoland.org/smf/primegrid/(2017-08-20-2017-08-23)-solar-eclipse-challenge/
przeprowadziłem kilka testów. Oczywiście naukowych wymogów one nie spełniają, lecz domowe i owszem. Do jakich wniosków doszedłem?
Primegrid dobrze sobie radzi z podziałem zadania na oddzielne wątki. Pojawiają się co prawda lekkie poślizgi, tj. przeliczenie czterech próbek bez app_configa zajmie deko mniej czasu, niż z nim, ale nie są to jakieś bycze wartości. Te, dajmy na to, 10% możemy śmiało sobie darować, skoro w zamian zyskujemy możliwość wyrobienia się w terminie.
Dla uproszczenia przyjmuję, iż edytując app_configa da się zredukować czas mielenia zadania dwu, lub 4krotnie. Dla wariantu *4 wrzuciłem do katalogu pt. C:\ProgramData\BOINC\projects\www.primegrid.com plik app_config.xml
o poniższej zawartości.
<app_config>
<app>
<name>llrTRP</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrTRP</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
</app_version>
</app_config>
Zamieńmy llrTRP na llr321 i po kłopocie. Kiedyś przydałoby się opracować całościowo pisanie plików instruujących boincowego menedżera, jak należycie mielić powinien. Niegdyś bawiłem się tym, z sukcesem, przy okazji burpa:
http://www.boincatpoland.org/smf/burp/przydzial-ilosci-rdzeni/
Niestety coś zmienili później przy liczydle i myk z przywiązaniem aplikacji do jednego wątku przestał działać. To skutecznie zniechęciło mnie do dalszych eksperymentów. Swoją drogą warto by kiedyś do nich powrócić. Próby z budowaniem nowych konfiguratorów wymagają dokładnej znajomości znaczenia każdej linii. Np. co mówi maszynie wiersz?
<cmdline>-t 4</cmdline>
a co ten?
<avg_ncpus>4</avg_ncpus>
Dawnymi czasy sądziłem, iż trzeba napisać komputerowi to samo 2 razy, żeby zechciał łaskawie zrozumieć. Obecnie myślę, iż tkwię, jadąc pewnym klasykiem, w mylnym błędzie. Stąd mój apel o wspólną pracę nad fachową instrukcją tworzenia configów. Dobra, starczy tej pisaniny. Oby w nadchodzącym wyścigu wystartowało nas więcej. Ostatnio nieźle żeśmy się spisali, ale drużynę potencjalnie stać na znacznie lepszy rezultat.

sirzooro

#8
Cytat: Ufol w 30 Sierpień 2017, 12:55
Kiedyś przydałoby się opracować całościowo pisanie plików instruujących boincowego menedżera, jak należycie mielić powinien. Niegdyś bawiłem się tym, z sukcesem, przy okazji burpa:
http://www.boincatpoland.org/smf/burp/przydzial-ilosci-rdzeni/
Niestety coś zmienili później przy liczydle i myk z przywiązaniem aplikacji do jednego wątku przestał działać. To skutecznie zniechęciło mnie do dalszych eksperymentów. Swoją drogą warto by kiedyś do nich powrócić. Próby z budowaniem nowych konfiguratorów wymagają dokładnej znajomości znaczenia każdej linii. Np. co mówi maszynie wiersz?
<cmdline>-t 4</cmdline>
a co ten?
<avg_ncpus>4</avg_ncpus>
Dawnymi czasy sądziłem, iż trzeba napisać komputerowi to samo 2 razy, żeby zechciał łaskawie zrozumieć. Obecnie myślę, iż tkwię, jadąc pewnym klasykiem, w mylnym błędzie. Stąd mój apel o wspólną pracę nad fachową instrukcją tworzenia configów.
Poniekąd :) Pierwsza linia informuje aplikację LLR ile wątków ma używać. Ta druga to natomiast informacja dla BOINC Client'a. Niestety jest to zrobione tak jak jest, może kiedyś to poprawią żeby to BOINC Client informował aplikację ile wątków powinna używać.

Opis plików konfiguracyjnych BOINCa jest pod linkiem poniżej. Nazwy aplikacji można znaleźć w plikach scheduler_request*.xml i w client_state.xml.
https://boinc.berkeley.edu/wiki/Client_configuration

Edit: opis jak tworzyć pliki app_info.xml jest pod poniższym linkiem. Niestety ten opis jest kiepski, ale dobre i to. W praktyce i tak najlepiej jest skopiować odpowiednie fragmenty z client_state.xml i poprawić to co trzeba, obydwa pliki używają takich samych znaczników.
https://boinc.berkeley.edu/wiki/Anonymous_platform

stiven

Gdyby ktoś był takim Januszem linuxa jak ja, i zainstalował go głownie po to by PG szybciej liczył niż na XP, to domyślny katalog, do którego należy wrzucić konfig to:

/var/lib/boinc-client/projects/www.primegrid.com

Jutr będę miał dostęp do i3 5005 postaram się puścić testy, które rozstrzygną czy lepiej liczyć na 2,3 czy 4 wątkach ten konkretny podprojekt. W przypadku procesorów 4C/4T wybór powinien być raczej oczywisty.

sirzooro

Polecam też lekturę wątku o LLR 3.8.20 na forum PG, jest tam sporo ciekawych informacji o liczeniu na wielu wątkach:
https://www.primegrid.com/forum_thread.php?id=7348

Ufol

Cytat: sirzooro w 30 Sierpień 2017, 16:24
Cytat: Ufol w 30 Sierpień 2017, 12:55
Kiedyś przydałoby się opracować całościowo pisanie plików instruujących boincowego menedżera, jak należycie mielić powinien. Niegdyś bawiłem się tym, z sukcesem, przy okazji burpa:
http://www.boincatpoland.org/smf/burp/przydzial-ilosci-rdzeni/
Niestety coś zmienili później przy liczydle i myk z przywiązaniem aplikacji do jednego wątku przestał działać. To skutecznie zniechęciło mnie do dalszych eksperymentów. Swoją drogą warto by kiedyś do nich powrócić. Próby z budowaniem nowych konfiguratorów wymagają dokładnej znajomości znaczenia każdej linii. Np. co mówi maszynie wiersz?
<cmdline>-t 4</cmdline>
a co ten?
<avg_ncpus>4</avg_ncpus>
Dawnymi czasy sądziłem, iż trzeba napisać komputerowi to samo 2 razy, żeby zechciał łaskawie zrozumieć. Obecnie myślę, iż tkwię, jadąc pewnym klasykiem, w mylnym błędzie. Stąd mój apel o wspólną pracę nad fachową instrukcją tworzenia configów.
Poniekąd :) Pierwsza linia informuje aplikację LLR ile wątków ma używać. Ta druga to natomiast informacja dla BOINC Client'a. Niestety jest to zrobione tak jak jest, może kiedyś to poprawią żeby to BOINC Client informował aplikację ile wątków powinna używać.
Obie linie muszą podawać identyczny parametr, bowiem obecny kształt konfiguratora wynika z niedoskonałości w komunikacji menedżera z aplikacjami. Jeżeli podamy różne wartości np.
<cmdline>-t 4</cmdline>
A poniżej:
<avg_ncpus>2</avg_ncpus>
to cały myk nie zaskoczy, ponieważ obie instrukcje, że tak powiem, wzajemnie się wykluczą.
Czy dobrze rozumuję?

stiven

#12
Oto wynik testów na i3 5005, którzy w międzyczasie nie robił nic innego:

Cytatc:\pg testy\aaa>cllr64 -d -q"3*2^10829346+1" -t4
Starting Proth prime test of 3*2^10829346+1
Using all-complex FMA3 FFT length 576K, Pass1=384, Pass2=1536, 4 threads, a = 5
3*2^10829346+1 is prime! (3259959 decimal digits)  Time : 28138.471 sec.

c:\pg testy\aaa>cllr64 -d -q"3*2^10829346+1" -t3
Starting Proth prime test of 3*2^10829346+1
Using all-complex FMA3 FFT length 576K, Pass1=384, Pass2=1536, 3 threads, a = 5
3*2^10829346+1 is prime! (3259959 decimal digits)  Time : 26122.693 sec.

c:\pg testy\aaa>cllr64 -d -q"3*2^10829346+1" -t2
Starting Proth prime test of 3*2^10829346+1
Using all-complex FMA3 FFT length 576K, Pass1=384, Pass2=1536, 2 threads, a = 5
3*2^10829346+1 is prime! (3259959 decimal digits)  Time : 28483.358 sec.

Z użyciem trzech wątków jest szybciej niż z dwoma. Użycie czterech nie daje żadnego zysku, prędkość taka jak dla dwóch. Puszczę jeszcze dla jednego i zobaczymy co wyjdzie.

Na jednym wątku idzie tak:
Cytatc:\pg testy\aaa>cllr64 -d -q"3*2^10829346+1" -t1
Starting Proth prime test of 3*2^10829346+1
Using all-complex FMA3 FFT length 576K, Pass1=384, Pass2=1536, a = 5
3*2^10829346+1 is prime! (3259959 decimal digits)  Time : 48704.945 sec.

necavi

Nie spać. Kredki do tornistra spakować i zająć się czymś pożytecznym - przygotowaniem maszyn do startu o 20.00 czyli za niespełna 11 godzin :boing:

stiven

Jakby co to realne czasy przeliczania próbek 321 na xeonie e3 1220 v3 3.10GHz -t 4 (4 wątki) ~4h (linux mint).
Na i3 5005 jedną przeliczyłem ale start był na 1 wątku a końcówka na 3, wyszło prawie 18h (win 10).

necavi


stiven

4h wyścigu i już 40 osób odesłało próbki. Próbki z podprojektu, który liczy się normalnie dwa dni.
Popatrzyłem na top5 to tam liczą na 6-16 rdzeniach. W dodatku na kilkunastu i7, xeonach e5 itp. Szaleństwo :fright: :boing:
Nigdy nie uwierzę, że sami płacą za prąd i że wszystkie te sprzęty liczą za pełną wiedzą i zgodą właścicieli. 

Ja chyba jakaś dłuższą próbkę dostałem bo xeon mieli już 3,5h i mam 60% dopiero.

krzyszp

Czy wy widzieliście listę wyścigów w BS? Chłopaki z PG przeginają... naprawdę, połowa roku to u nich wyścigi...
Dla mnie, to oni jak pewna grupa religijna - wywalisz drzwiami, to wracają oknem...

I nie, nie pisze tego jako admin, po prostu taka nachalność mnie wkurza...

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

stiven

Odnoszę wrażenie, że ten proces postępuje.
Biorę udział w ich wyścigach z przyzwyczajenia i ku chwale drużyny ale bez zmiany floty i zostawiania kompa na noc to wyniki byłyby mizerne.

tito

Dlatego od zawsze ignoruję wyścigi. Gdyby był 1 na miesiąc to byłoby wydarzenie, a tak jest to codzienność.
Jedyny wyścig jaki darzę sympatią to Pentatlon - za przygotowanie.

_Aleksander_

Uprasza się wszystkie marudy o nie marudzenie w wątku w którym wiosłujemy w wyścigu.
Ja rozumiem, żę PG to samo zło, bo sprzęt potrzebny, bo za dużo i za często, ale naprawdę są tacy co to lubią i chcą.
Pieknie się róznimy i w tym nasza siła.

Krzysiak



>>Moja szczegółowa sygnatur<< %)                                      >> Spis moich odkrytych liczb pierwszych << :whistle:

necavi

Żeby nie było, że tylko marudzenie - statystyki mówią nam, że jako zespół zajmujemy na dziś 7 miejsce. Przed nami goście z EVGA.  :attack: i do przodu

necavi

Na zachodzie froncie obliczeń bez zmian. Kto ma szybki proc może jeszcze się dołączyć, a liczący oceniają które zadania uda się doliczyć przez niespełna 22 godziny.

Krzysiak

6   Crunching@EVGA   5054804.62
7   BOINC@Poland           3491012.47
8   US Navy                   2509183.59

Mam wrażenie że już nic się nie zmieni  :)


>>Moja szczegółowa sygnatur<< %)                                      >> Spis moich odkrytych liczb pierwszych << :whistle:

sknd

ja mam nadzieję że doturlam te kilka swoich WU na czas... niestety zapomniałem pozmieniać w konfigu i liczą się jednordzeniowo... ale do 20 powinny dojść  ;)

stiven

Możesz śmiało zmienić w trakcie. Testowałem i polecam.

Krzysiak

No i tak jak przypuszczałem 7 miejsce wywiosłowane  :)


>>Moja szczegółowa sygnatur<< %)                                      >> Spis moich odkrytych liczb pierwszych << :whistle:

stiven

Ciężko było przeskoczyć ale walczyłem do końca  :whip: :whip: :whip:
mimeq się nie dał przeskoczyć mimo, że komputera nie wyłączałem.

necavi

Ściganie zakończone, brało w nim udział 477 osobników skupionych (lub nie) w 101 zespołach.
Dla porządku podaję za oficjalnymi statystykami wyniki.

Zespołowo:
1   Aggie The Pew           27485860.42
2   Czech National Team   19252272.19
3   SETI.Germany            16373341.77
...
7   BOINC@Poland            3770045.53

Indywidualnie ludzie z naszego teamu:
12   Daniel                         1944426.65
36   Krzysiak_PL_GDA            860811.28
74   Aleksander                    358800.93
130   mimeq                        190831.31
131   stiven                        189497.17
178   necavi                       125805.88
275   Ufol                            36547.03
325   sknd                           18178.28
346   Peter                          13766.52
381   pjj                               9081.46
402   Biedron                        8809.51
408   Michał Obarzanowski       8780.79
411   12groszy                      4708.72

_Aleksander_

Gratulacje dla wszystkich którzy dorzucili coś od siebie  :parrrty: oraz dla marud za powstrzymanie się od dywersji  ;)

Od siebie dodam, że zespołowo ostatnie dwa lata są zdecydowanie lepsze od poprzednich w wyścigach PG.
Pamiętam jak kończyliśmy wyścigi w końcówce drugiej dziesiątki regularnie, a tu proszę 7 miejsce.
Chyba wysyp Xeonów po "pięćset" swego czasu sprawił, że stawka wyrównała się i aspiracji na miejsce na pudle jeszcze nie mamy, ale w top10 możemy się porozpychać.
Czego sobie i zespołowi życzę w kolejnych wyścigach!

Ufol

Wyścigi primegridowe, przez swoją specyfikę, tworzą duszę drużyny. Zgadzam się z tezą, iż są dedykowane kompletnym świrom boincowym. Właśnie dlatego w nich się udzielam na miarę własnych skromnych możliwości. Na domowym niewypasionym kompie można się wyrobić, lecz trzeba deko pogonić maszynę do roboty, choćby na noc jej nie wyłączając. Wielkie dzięki wszystkim liczydłowym. Do zobaczenia w październiku. Obecność obowiązkowa.  :whip:

Krzysiak



>>Moja szczegółowa sygnatur<< %)                                      >> Spis moich odkrytych liczb pierwszych << :whistle: