BOINC@Poland

Inne => Archiwum => Android => Wątek zaczęty przez: matszpk w 18 Lipiec 2011, 21:08

Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: matszpk w 18 Lipiec 2011, 21:08
Tutaj można podawać uwagi aplikacji dla projektu Enigma@Home (wszystko co związane z nią i itd). Obecnie już jest nowa wersja (0.2), która jest o 44% szybsza od poprzedniej.
Tytuł: Aplikacja Enigma@Home
Wiadomość wysłana przez: Tomasz R. Gwiazda w 18 Lipiec 2011, 21:13
bezposredni link do sciagniecia?
Tytuł: Aplikacja Enigma@Home
Wiadomość wysłana przez: matszpk w 18 Lipiec 2011, 21:17
Aplikację mozna ściągnąć z repozytorium (katalogi bins i src), gdzie jest umieszczony projekt: https://github.com/matszpk/native-boinc-for-android (https://github.com/matszpk/native-boinc-for-android). Tam są wszystkie projekty, biblioteki i klient. Link: https://github.com/matszpk/native-boinc-for-android/blob/master/bins/enigma-distrip-LATEST.zip?raw=true (https://github.com/matszpk/native-boinc-for-android/blob/master/bins/enigma-distrip-LATEST.zip?raw=true).
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: goofyx w 19 Lipiec 2011, 11:09
Do android market z nią ;)
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: matszpk w 19 Lipiec 2011, 12:08
Aplikacje BOINC'a planuje umieszczać w formie ZIP. Instalacja będzie z poziomu klienta.

PS.: zdecydowałem, że podrzucę TJM aplikację Enigmy na Androida (jeśli się zgodzi).
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: TJM w 16 Sierpień 2011, 11:57
Kombinuję nad dodaniem obsługi androida do serwera BOINC, żeby działało bez kombinowania z app_info.
Jakiego ciągu identyfikacyjnego używa klient na Androidzie ? Serwer zwraca jakieś dziwne info (ciąg pustych znaków). Nie wiem czy to nie jest wina wieku niektórych plików konfiguracyjnych więc planuję upgrade.
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: matszpk w 16 Sierpień 2011, 12:10
czesc. na razie optymalizuje aplikację (tak żeby była najszybsza). a co to za dokładnie identyfikacyjny? W cpu boinc podaje typ procesora (ale vendor jest pusty), nazwa OS to Android wersja_jądra. platforma to oczywiście anonymous.
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: TJM w 16 Sierpień 2011, 12:27
Ciąg identyfikacyjny zaszyty jest w kliencie (nie wiem skąd to się bierze - chyba czytany jest z systemu, aczkolwiek np. w klientach FreeBSD jest wklepany ręcznie) i musi być stały dla danej platformy.
Tutaj trochę przykładów (jest to ciąg w znacznikach <name>):


   <platform>
       <name>windows_intelx86</name>
       <user_friendly_name>Microsoft Windows (98 or later) running on an Intel x86-compatible CPU</user_friendly_name>
   </platform>
   <platform>
       <name>windows_x86_64</name>
       <user_friendly_name>Microsoft Windows running on an AMD x86_64 or Intel EM64T CPU</user_friendly_name>
   </platform>
   <platform>
       <name>i686-pc-linux-gnu</name>
       <user_friendly_name>Linux running on an Intel x86-compatible CPU</user_friendly_name>
   </platform>
   <platform>
       <name>x86_64-pc-linux-gnu</name>
       <user_friendly_name>Linux running on an AMD x86_64 or Intel EM64T CPU</user_friendly_name>
   </platform>
   <platform>
       <name>powerpc-apple-darwin</name>
       <user_friendly_name>Mac OS X 10.3 or later running on Motorola PowerPC</user_friendly_name>
   </platform>
   <platform>
       <name>i686-apple-darwin</name>
       <user_friendly_name>Mac OS 10.4 or later running on Intel</user_friendly_name>
   </platform>
   <platform>
       <name>sparc-sun-solaris2.7</name>
       <user_friendly_name>Solaris 2.7 running on a SPARC-compatible CPU</user_friendly_name>
   </platform>
   <platform>
       <name>sparc-sun-solaris</name>
       <user_friendly_name>Solaris 2.8 or later running on a SPARC-compatible CPU</user_friendly_name>
   </platform>
   <platform>
       <name>sparc64-sun-solaris</name>
       <user_friendly_name>Solaris 2.8 or later running on a SPARC 64-bit CPU</user_friendly_name>
   </platform>
   <platform>
       <name>powerpc64-ps3-linux-gnu</name>
       <user_friendly_name>Sony Playstation 3 running Linux</user_friendly_name>
   </platform>
   <platform>
       <name>anonymous</name>
       <user_friendly_name>anonymous</user_friendly_name>
   </platform>


Te dane muszą się zgadzać po stronie klienta i serwera, żeby w ogóle klient był skłonny coś wysłać.
Aczkolwiek widzę tu pewną komplikację - chyba są różne procesory ? W takim wypadku każdy procesor musiałby mieć swoją platformę.
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: matszpk w 16 Sierpień 2011, 12:31
ja zrobiłem takie app_info.xml.
<app_info>
<app>
   <name>enigma_m4_2</name>
   <user_friendly_name>Enigma 0.76b</user_friendly_name>
</app>
<file_info>
   <name>wrapper_5.22_arm-unknown-linux-gnu</name>
   <executable/>
</file_info>
<file_info>
   <name>enigma2_0.76_arm-unknown-linux-gnu</name>
   <executable/>
</file_info>
<file_info>
   <name>job_1.27.xml</name>
</file_info>
<app_version>
   <app_name>enigma_m4_2</app_name>
   <version_num>522</version_num>
   <api_version>6.3.9</api_version>
   <file_ref>
      <file_name>wrapper_5.22_arm-unknown-linux-gnu</file_name>
      <main_program/>
   </file_ref>
   <file_ref>
      <file_name>enigma2_0.76_arm-unknown-linux-gnu</file_name>
      <open_name>enigma2_0.76_arm-unknown-linux-gnu</open_name>
   </file_ref>
   <file_ref>
     <file_name>job_1.27.xml</file_name>
     <open_name>job.xml</open_name>
   </file_ref>
   <platform>arm-unknown-linux-gnu</platform>
   <avg_ncpus>1.000000</avg_ncpus>
   <max_ncpus>1.000000</max_ncpus>
</app_version>
</app_info>


name to:Enigma 0.76b, a platform:arm-unknown-linux-gnu.
na razie jeszcze nie instaluj nowej aplikacji na serwerze. na razie optymalizuję aplikację. poza tym ta platforma nie jest wspierana oficjalnie przez projekt boinc.
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: TJM w 16 Sierpień 2011, 12:34
App info nie ma tu nic do rzeczy, identyfikować musi się sam klient.
Identyfikacja musi jednoznacznie określać platformę (grupę urządzeń+systemów) na których uruchomi się przypisana do niej aplikacja.
Wtedy wysyłanie aplikacji odbywa się automatycznie, z pominięciem kombinowania z app info.
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: matszpk w 18 Sierpień 2011, 21:47
cześć. juz zoptymalizowałem aplikację. co ciekawe wersja z flagą SIMPLESCORE (tą prostszą wersją score.c) jest znacznie szybsza na ARM'ach (!!!). Nowsza wersja powinna być szybsza ponad 2 razy od poprzedniej  :). jutro ją opublikuję.
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: Troll81 w 18 Sierpień 2011, 22:11
dwa razy ??  :fright:
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: TJM w 18 Sierpień 2011, 22:12
Nie wziąłeś tylko jednego pod uwagę - funkcja ta wpływa na ostateczny wynik, więc niektóre WU (lub nawet wszystkie) mogą zostać skreślone przez validator.
Ponadto aplikacja z włączonym simplescore nie jest w ogóle kompatybilna z niektórymi workunitami (opartymi o IC, wszystkie WU zwrócą błąd).
Tytuł: Aplikacja Enigma@Home (Android)
Wiadomość wysłana przez: matszpk w 18 Sierpień 2011, 23:06
podczas optymalizacji sprawdzałem wyniki zwracane przez funkcje. wszystkie są identyczne z poprzednią wersją i oryginalną. jutro sprawdzę jeszcze raz. wyniki były identyczne z wersją oryginalną (punktowanie). przyt testowaniu ustawiłem statyczny seed dla randoma w hillclimb. w funkcji icscore dawno już podmieniłem float na integer (ze względu szybkość), także przy tej zmianie wyniki były identyczne. zajrzyj do kodów na github: https://github.com/matszpk/native-boinc-for-android (https://github.com/matszpk/native-boinc-for-android). icscore w wersji SIMPLESCORE sumuje punkty na float, pewnie o to chodzi....

PS. zrobiłem porównanie icscore z int i icscore z double (wynik po wyniku dla każdego wywołania). przeliczyłem tak 4 WU i nie było żadnego wyjątku! w programie dodałem sprawdzanie wyniku dla każdego wywołania icscore i warunku DBL_EPSILON. nie było ŻADNEGO odstępstwa. kody zaraz udostępnię....
wyniki dla z optymalizowanej wersji też są identyczne.

PS: już jest nowa wersja aplikacji 0.5.2. jesli chciecie ją zainstalowac proszę skorzystac z opcji "manage client"->"update binaries". milego liczenia  :)