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:
https://youtu.be/eEeTWVru1qc (https://youtu.be/eEeTWVru1qc) _Aleksander_ standing by XD
https://youtu.be/0E96CfPLkPU?t=15
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.
:attack:
Kilka dni na testy jest. Chyba warto sprawdzić na konkretnym sprzęcie czy lepiej wypadnie t3 czy t4.
Lepiej jest liczyć na wątkach, zwłaszcza pod koniec wyścigu - zawsze to lepiej odesłać 3 wyniki niż nie odesłać 4.
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.
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
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.
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
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ę?
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.
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:
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).
No to liczymy :attack:
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.
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...
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.
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.
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.
:p_arr:
Żeby nie było, że tylko marudzenie - statystyki mówią nam, że jako zespół (http://www.primegrid.com/challenge/2017_5/top_teams.html) zajmujemy na dziś 7 miejsce. Przed nami goście z EVGA. :attack: i do przodu
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.
6 Crunching@EVGA 5054804.62
7 BOINC@Poland 3491012.47
8 US Navy 2509183.59
Mam wrażenie że już nic się nie zmieni :)
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ść ;)
Możesz śmiało zmienić w trakcie. Testowałem i polecam.
No i tak jak przypuszczałem 7 miejsce wywiosłowane :)
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.
Ś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
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!
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:
:parrrty: