przetwarzanie rozproszone - boinc

FORUM BOINC

Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Witaj na forum poświęconemu wspieraniu nauki poprzez platformę BOINC. Pobierz i zacznij zmieniać świat od teraz
Strony: [1]

Aplikacja Enigma@Home (Android) (Przeczytany 4718 razy)

matszpk

  • 'Domowy programista'.
  • Moderator
  • Młodszy Liczydłowy
  • *
  • Offline Offline
  • Wiadomości: 431
  • Avatar forum naukowego

    Aplikacja Enigma@Home (Android)

    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.
    edit: 18 Lipiec 2011, 21:20 - matszpk

    Tomasz R. Gwiazda

    • Kalkulator
    • ***
    • Offline Offline
    • Wiadomości: 5 971
    • Avatar forum naukowego

      Aplikacja Enigma@Home

      Odpowiedź #1 18 Lipiec 2011, 21:13
      bezposredni link do sciagniecia?

      matszpk

      • 'Domowy programista'.
      • Moderator
      • Młodszy Liczydłowy
      • *
      • Offline Offline
      • Wiadomości: 431
      • Avatar forum naukowego

        Aplikacja Enigma@Home

        Odpowiedź #2 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. 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.

        goofyx

        • Fundacja
        • BOINC Fanatyk
        • *
        • Offline Offline
        • Wiadomości: 3 291
        • Avatar forum naukowego
        • Po prostu goofyx :)

          Aplikacja Enigma@Home (Android)

          Odpowiedź #3 19 Lipiec 2011, 11:09
          Do android market z nią ;)

          matszpk

          • 'Domowy programista'.
          • Moderator
          • Młodszy Liczydłowy
          • *
          • Offline Offline
          • Wiadomości: 431
          • Avatar forum naukowego

            Aplikacja Enigma@Home (Android)

            Odpowiedź #4 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).
            edit: 19 Lipiec 2011, 13:45 - matszpk

            TJM

            • Grupa Reagowania Operacyjno-Manewrowego
            • BOINC Fanatyk
            • *****
            • Offline Offline
            • Wiadomości: 3 026
            • Avatar forum naukowego
            • Smokin` 5 clients to nachapać more

              Aplikacja Enigma@Home (Android)

              Odpowiedź #5 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.

              matszpk

              • 'Domowy programista'.
              • Moderator
              • Młodszy Liczydłowy
              • *
              • Offline Offline
              • Wiadomości: 431
              • Avatar forum naukowego

                Aplikacja Enigma@Home (Android)

                Odpowiedź #6 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.
                edit: 16 Sierpień 2011, 12:17 - matszpk

                TJM

                • Grupa Reagowania Operacyjno-Manewrowego
                • BOINC Fanatyk
                • *****
                • Offline Offline
                • Wiadomości: 3 026
                • Avatar forum naukowego
                • Smokin` 5 clients to nachapać more

                  Aplikacja Enigma@Home (Android)

                  Odpowiedź #7 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ę.
                  edit: 16 Sierpień 2011, 12:32 - TJM

                  matszpk

                  • 'Domowy programista'.
                  • Moderator
                  • Młodszy Liczydłowy
                  • *
                  • Offline Offline
                  • Wiadomości: 431
                  • Avatar forum naukowego

                    Aplikacja Enigma@Home (Android)

                    Odpowiedź #8 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.

                    TJM

                    • Grupa Reagowania Operacyjno-Manewrowego
                    • BOINC Fanatyk
                    • *****
                    • Offline Offline
                    • Wiadomości: 3 026
                    • Avatar forum naukowego
                    • Smokin` 5 clients to nachapać more

                      Aplikacja Enigma@Home (Android)

                      Odpowiedź #9 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.

                      matszpk

                      • 'Domowy programista'.
                      • Moderator
                      • Młodszy Liczydłowy
                      • *
                      • Offline Offline
                      • Wiadomości: 431
                      • Avatar forum naukowego

                        Aplikacja Enigma@Home (Android)

                        Odpowiedź #10 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ę.

                        Troll81

                        • Troll forumowy
                        • Newsmani
                        • Starszy Kalkulator
                        • *****
                        • Offline Offline
                        • Wiadomości: 32 458
                        • Avatar forum naukowego
                        • Owoc żywota twojego je ZUS

                          Aplikacja Enigma@Home (Android)

                          Odpowiedź #11 18 Sierpień 2011, 22:11
                          dwa razy ??  :fright:

                          TJM

                          • Grupa Reagowania Operacyjno-Manewrowego
                          • BOINC Fanatyk
                          • *****
                          • Offline Offline
                          • Wiadomości: 3 026
                          • Avatar forum naukowego
                          • Smokin` 5 clients to nachapać more

                            Aplikacja Enigma@Home (Android)

                            Odpowiedź #12 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).

                            matszpk

                            • 'Domowy programista'.
                            • Moderator
                            • Młodszy Liczydłowy
                            • *
                            • Offline Offline
                            • Wiadomości: 431
                            • Avatar forum naukowego

                              Aplikacja Enigma@Home (Android)

                              Odpowiedź #13 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. 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  :)
                              edit: 25 Sierpień 2011, 17:41 - matszpk
                              Strony: [1]   Do góry

                              GoogleTagged


                              Hosting dzięki uprzejmości InnerVision sp. z o.o.
                              SMF © 2011, Simple Machines