Aplikacja Milkyway@Home

Zaczęty przez matszpk, 28 Październik 2011, 21:01

matszpk

Mam już gotową aplikacją dla projektu MilkyWay@Home (separation). ponieważ jest przerwa w działaniu projektu  :dunno:dlatego też, jeszcze jej nie publikuję. zrobię to po wznowieniu projektu. chcę ją jeszcze przetestować czy np.: dobrze obsługuje checkpointy i wznawianie pracy. Aplikację tą będzie na razie można uruchamiać na procesorach ARM, które mają FPU (aplikacja jest stricte numeryczna).
Przeliczyłem kilka WU za pomocą jej. Wyniki mieszczą się w granicach błędu numerycznego (ok. 1e-15).
na razie opublikuje jej kody źródłowe https://github.com/matszpk/native-boinc-for-android/tree/master/src/milkyway_separation_0.88.

PS.: Aplikacja już została opublikowana.

matszpk

już przetestowałem wstępną wersję (działa sprawnie na moim htc sensation: czasy ok.: 12-24 godzin na WU).
poniżej wklejam wyniki jednej WU z telefonu i z komputera (oryginalna aplikacja):

WU
HTC Sensation:
Error loading Lua script 'astronomy_parameters.txt': [string "number_parameters: 4..."]:1: '<name>' expected near '4'
Error reading astronomy parameters from file 'astronomy_parameters.txt'
  Trying old parameters file
Integral 0 time = 43699.101410 s
Likelihood time = 25.755890 s
<background_integral> 0.000249253471443 </background_integral>
<stream_integral>  1042.346710153391314  11.679220639678670 </stream_integral>
<background_likelihood> -2.985174587355220 </background_likelihood>
<stream_only_likelihood>  -12.466545895076582  -117.201403149769348 </stream_only_likelihood>
<search_likelihood> -2.890406333449975 </search_likelihood>
<search_application> milkywayathome_client separation 0.88 Linux ARM double </search_application>
04:57:07 (6855): called boinc_finish


Oryginalna aplikacja (SSE3):
22:54:09 (19432): Can't set up shared mem: -1. Will run in standalone mode.
Error loading Lua script 'astronomy_parameters.txt': [string "number_parameters: 4..."]:1: '<name>' expected near '4'
Error reading astronomy parameters from file 'astronomy_parameters.txt'
  Trying old parameters file
Using SSE3 path
Integral 0 time = 14037.343798 s
Likelihood time = 3.837549 s
<background_integral> 0.000249253471443 </background_integral>
<stream_integral>  1042.346710153389495  11.679220639678672 </stream_integral>
<background_likelihood> -2.985174587355220 </background_likelihood>
<stream_only_likelihood>  -12.466545895076580  -117.201403149769348 </stream_only_likelihood>
<search_likelihood> -2.890406333449975 </search_likelihood>
<search_application> milkywayathome_client separation 0.88 Linux x86_64 double </search_application>
02:48:10 (19432): called boinc_finish


wyniki się różnią nieznacznie (w najgorszym wypadku względnie jest to 1.7e-15 dla ułamkowej części liczb w formacie IEEE-754).

pawg

Na xperii wogóle nie liczy



matszpk

mozliwe, że napotkałes na przerwie w działaniu projektu i klient nie może się z projektem z kontaktować. poczekaj. niestety milkyway@home ma taki problem. jeśli to nie jest ten problem podaj link do hosta lub parametry procesora.
UWAGA: aplikacja dziala tylko na procesorach z FPU (w features musi być vfp lub vfpv3).

Vega

czy na bada też będzie działać aplikacja?

matszpk

nativeboinc jest tylko na android'a. na razie jeszcze nie planuje wersji na inne systemy.

pawg

Może to procesor. Mam taki:
1ARMv6 - compatible processor rev 5 @600MHz



matszpk

#7
ok. sprawdz teraz czy ma vfp lub vfpv3 (zakładka Messages, wpis Processor features). Jeśli nie ma to poczekaj na następną wersję. sprawdziłem czy aplikacja liczy na telefonie mojego brata (też ma ARMv6, ale z FPU) i nie było problemów (liczył). za pierwszym razem zawsze jest wykonywany benchmark. więc powinienieś trochę poczekać 30 sekund. także sprawdz czy dostałeś WU. Ściąganie plików może też trochę potrwać (obserwuj w zakładce Transfers).

PS.: poczekaj na nową wersję (dla procesorów bez FPU). (znalazłem cię na stronie milki). z benchmarka wynika, że ze nie masz FPU.
PS2: sprawdz też wersję systemu (na niższych niż 2.2 po prostu nie działa).

GRID

Cytat: matszpk w 30 Październik 2011, 09:42
UWAGA: aplikacja dziala tylko na procesorach z FPU (w features musi być vfp lub vfpv3).
Myślałem że Milka liczy tylko na GPU z Double precision. Jak przeszedłeś ten problem ?

matszpk

ARM VFP ma wsparcie dla double-precision. poza tym jest wersja na zwykłe procesory. muszę powiedzieć, że były potrzebne specjalne optymalizacje, które przyspieszyły aplikację wielokrotnie. niestety w gcc (kompilator) po prostu nie potrafi wykorzystać mocy tych procesorów (bardzo słabe wyniki dla obliczeń FPU). gdyby nie te optymalizacje to aplikacja liczyłaby 14-16x razy wolniej i wyniki byłyby nawet po kilkunastu dniach.

matszpk

niestety  :dunno: w aplikacji znalazłem błąd (nie wpływa on za bardzo na wyniki) jednak zalecam poczekać na następną wersję. błąd powoduje błędy wyników na poziomie (relatywnie) 4*10^-15 w niektórych miejscach wyników. zalecam też nie robienie zbyt czestych przerw. może to spowodować wygenerowanie złych wyników. pracuje nad usunięciem błędu. jest to typowo numeryczny błąd.

GRID

a programowanie masz w małym palcu ale z matmy ledwo 2 ?   ;)

matszpk

cześć GRID. raczej nie mialem problemów matmą  :). tak na serio wyniki powinny przejść. jednak miałem pewne wątpliwości do wyników (mimo małego błędu). nie jestem pewien, ale wynika z tego, że nie tylko w moim kodzie jest błąd (który już poprawiłem), ale też w bibliotece androida  : :wacko:. wczoraj go znalazłem (funkcja pow zwraca niedokładne wartości sic!). dzisiaj będę nad tym pracował. aha jeszcze jedno, w milkyway (wszystkie wersje) checkpointy nie działają perfekcyjnie i gdy zrobisz za dużo stop/resume to mogą ci wyjść złe wyniki.

matszpk

uufff. wreszcze poprawiłem błąd (to jeszcze nie finalna wersja). aplikacja milkyway została udostępniona.
możecie już zacząc testować  :). porszę użyc opcji Manage client->Update binaries do zrobienia update'a.

matszpk

cześć. niestety  :dunno: dla wersji VFP jest błąd (jeszcze nie wiem jaki). wersja VFPv3 (ARMv7) powinna działać poprawnie.
proszę nie liczyć na razie milkyway na telefonach z procesorem ARMv6. Błąd zostanie wkrótce naprawiony.
sorry  :shame:.

armar

Cytat: matszpk w 12 Grudzień 2011, 19:46wersja VFPv3 (ARMv7) powinna działać poprawnie.
Działa, ale przeliczone zadania znikają, :(
choć są za nie punkty :)
Mam policzone trzy zadania (każde po 160 punktów, więc razem 480 punktów), a MilkyWay@Home pokazuje wyłącznie 2 nowo pobrane zadania:
http://milkyway.cs.rpi.edu/milkyway/show_host_detail.php?hostid=352856

matszpk

VFPv3 jest ok, tylko VFP (starsze ARMv6) mogą źle liczyć. dla bezpieczeństwa zablokowałem na jakichs czas aplikacje (nie można jej ściągnąć) do czasu usunięcia błędu.

matszpk

ok. udostępniłem nową wersję milkyway (0.3). niestety nie mogłem namierzyć błędu (raz liczył ok, raz źle, nie wiadomo dlaczego). sprawdziłem kod głównych części i wygląda ok  :dunno:. sprawdziłem porównując wyniki i nie stwierdziłem błędów. próbujcie dalej liczyć.

matszpk

Poprawiłem dwa straszne błędy które wpływają na wyniki  :shame:. Zalecam nie używać starszych wersji niż 0.4 (zróbcie update lub zainstalujcie nowego NativeBOINC'a). Przepraszam za niedogodności.