Aktualności:

Nasza strona na Facebooku - poleć znajomym.

Menu główne

Natywny klient BOINC na Androidzie

Zaczęty przez matszpk, 01 Lipiec 2011, 19:17

matszpk

wiem o tym. możesz uruchomić jednak benchmark ręcznie. dzisiaj zrobię tak, by był on uruchamiany przy starcie boinc'a.

goofyx

Jak to zainstalować na androidzie?

matszpk

Musisz do tego mieć android-sdk lub chociaż program adb. musisz skopiować pliki boinc-distrib do katalogu /data/local/tmp.
ustawić LD_LIBRARY_PATH na /system/lib i /data/local/tmp/lib. oczywiście potem należy stworzyc katalog na dane boinc'a.
uruchomić w nim klienta w tle (np.: "../bin/boinc_client --allow_remote_gui_rpc&") i odłączyć kabel bez wychodzenia z shella.
Potem się łączysz z nim za pomocą np.: BOINC Manager'a.
Pomysle nad opisaniem instalacji tego na telefonie.

matszpk

Jeśli chodzi o aplikację gcwsieve to dołączyłem także app_info.xml. trzeba go skopiować do katalogu projektu.

matszpk

Ok. jestem w domu. Poprawię błąd związany z benchmarkowaniem oraz przygotuje skrypty, które ułatwią instalację na telefonie klienta. Dodam jeszcze moją wersję AndroBOINC'a. Poczekajcie trochę...


Troll81


matszpk

cześć. chciałbym się dowiedzieć, czy ktoś próbował zainstalować mojego klienta i aplikację na swojej komórce.
w razie problemów służę pomocą. chciałbym też usłyszeć jakieś opinie.
Jeśli chodzi o rady to:
- zainstalujcie sobie WakeTimer'a (blokuje blokowanie ekranu).
- ustawcie sobie limity użycia dysku (może nie pobrać danych ze względu na limity)
- uruchomcie klienta w tle (wstawcie '&' na końcu komendy).
- po uruchomieniu klienta odłączcie telefon od komputera (bez wychodzenia z shella)

czekam na wasze opinie i pytania.

Troll81

mój tani chiński badziew może tego nie wytrzymać :(

AiDec

Cytat: matszpk w 09 Lipiec 2011, 11:34
czekam na wasze opinie i pytania.

Daj ludziom ciut czasu. Nie dla kazdego jest to proste do wykonania - nie kazdy jest mastachem jak Ty :)



Bo jest paru kumpli :),
Bo jest parę w życiu dobrych chwil...


Moja wizytowka i sygnaturka

matszpk

Hej Troll81. Jaki masz telefon? mój tani Wildfire jakoś to przetrzymuje. teoretycznie każda komórka nawet z antycznym prockiem powinna to jakiś przetrzymać (CPU 528MHz bez FPU, tak jak mój). No ale oczywiście pozostaje kwestia używalności komórki (bo tanie telefony będą musiały to robić non stop przez przeszło 6 dni  :wacko:).
ok jutro podejmę decyzję co robić z tym dalej.

Troll81


matszpk

Ok. jeśli ma procek co najmniej 528MHz to może przerobić na czas jedną WU. Jednak zaaplikowanie mu mojego boinc'a nie musi to być dla ciebie komfortowe. możesz spróbować jeśli bardzo chcesz, jednak od razu mówię, że tanie telefony ze słabymi procesorami raczej będą musiały harować non-stop przez kilka dni, żeby zdążyć wysłać wyniki.

Troll81

http://www.telepolis.pl/telefony.php?id=1800

taki mam

matszpk

Umieściłem w katalogu bins prostą instrukcję instalacji i uruchomienia (bins/INSTALL.polish). W razie problemów proszę pisać, a chętnie rozwiążę problem. Zachęcam do testów.
Troll81, twój telefon, jest wystarczająco szybki, żeby to udźwignąć. Możesz spróbować.

Troll81

jak znajdę czas to trstnę :D na razie mam urwanie łba. I wisze komuś wysyłke tunera TV....

matszpk

cześć. dodałem obsługę wielu rdzeni (nieprzetestowane jeszcze), dodałem info o zegarze procesora. no i odchudziłem archiwum boinc-distrib. Jeśli ktoś ma np.: HTC Sensation lub Samsung Galaxy S II to proszę sprawdzić czy działa wielorodzeniowość na tej wersji.
Obecnie myślę już o portowaniu MilkyWay.

Tomasz R. Gwiazda

a jest sens robic porty projektow w ktorych najwiecej sie na GPU oblicza ?

Troll81

a jaki jest sens wchodzenia na Mount Everest :D

stasieks

A np. rosetta. Małe próbki, bez GPU, cel szlachetny :)

Troll81

rosetta ma otwarty kod źródłowy?

matszpk

niektóre źródła mówią, że kod Rosetty nie jest publiczny. Przynajmniej znalazłem taką odpowiedź w http://boinc.bakerlab.org/rosetta/forum_thread.php?id=657 i w http://boinc.bakerlab.org/rosetta/forum_thread.php?id=1122#10810  :(.

Troll81

#62
zawsze można napisać do adminów rozetki :D

juz skrobnałem do Bakera :D

Tomasz R. Gwiazda

Aqua udostepnila

Source files of AQUA's original application are released
We are happy to announce the the source files of the original AQUA application have been released. We've also included sample executable files for 32- and 64-bit Mac, Linux, and Windows platforms, as well as CUDA and OpenCL. The purpose of the release is 1) to allow our volunteers to see what they were running on their computers, and 2) to present our programming techniques to people interested in developing high performance/scientific applications.

You can download the package from http://aqua.dwavesys.com/AQUAPT_release_1.zip
Some papers on the techniques used in this software can be found at http://aqua.dwavesys.com/aqua_papers.html 12 Jul 2011 | 18:47:16 UTC · Comment

matszpk

Dzięki Tomasz  :p_arr:. Nie wiedziałem, że AQUA ma aplikację open-source  :). Możliwe, że w niedalekiej przyszłości będzie zajmę się nią.

matszpk

Właśnie się zarejestrowałem do AQUA@Home. Mimo to nie dostaję nowych WU (liczę na CPU). Przy tworzeniu portu to ważne, będę testował aplikację na real WU.

matszpk

Jednym z pierwszym projektów, który chciałem odpalić na Androidzie był Enigma@Home. Porzuciłem pomysł ze względu na różne wyniki różnych wersji. Chciałbym nawiązać współpracę z TJM przy przenoszeniu aplikacji jeśli to możliwe.

Troll81

TJM jest na forum i IRC więc mozesz go ścigać :D

Aegis Maelstrom

Co do Rosetty: tam problem jest taki, że Rosetta ma stosunkowo bardzo skomplikowany kod (kto wie, może najbardziej w świecie BOINC?), który się w miarę często zmienia (bo dochodzą nowe protokoły, modyfikacje istniejących, nowe fragmenty związane z dodawanymi cząsteczkami i typami zadań itp.). Z tego powodu, mimo faktu, że Rosetta jest jednym z największych (znów: może największym?) projektem naukowym korzystającym z BOINC i mają wiele zasobów, nie palą się oni nawet do przenoszenia tego na GPU. Po pierwsze to jest trudne w zrobieniu i zarządzaniu, po drugie zyski z GPU mogą być stosunkowo mniejsze.

Dlatego wydaje mi się, że przeniesienie i optymalizacja prostego kodu np. szukającego liczb pierwszych jest po prostu znacznie łatwiejsze niż znacznie większej miniRosetty.

Ale kierunek myślenia macie bardzo słuszny - może warto poszukać najbardziej odpowiednich projektów i im zaproponować współpracę.

matszpk

Już się zdecydowałem. TJM mi wszystko wyjaśnił i postanowiłem, że na pierwszy ogień pójdzie Enigma@Home. Jutro lub w weekend uruchamiam Enigmę na Androidzie.


aborek


TJM

Masz zbudowany goły wrapper ? Przeportowanie samej enigmy to raczej nie problem, aplikacja kompiluje się praktycznie wszędzie, gdzie jest dostępny jakiś kompilator C. Gorzej natomiast z wrapperem i całym API....


W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

matszpk

Wrapper został skompilowany. Zobaczymy będzie się sprawował. Miałem problem z funkcją wait4 (nie ma jej w androidzie), którą zastąpiłem wait3. Jeszcze przejrzę kod wrappera w celu upewnienia się czy przypadkiem czegos nie pominąłem, ale myślę raczej będzie ok  :).

TJM

Przed testami musisz jeszcze zrobić app_info - jeśli nie wiesz jak albo Ci się nie chce, to daj znać i zrobię. Bez tego klient nie dostanie żadnego zadania od serwera, ponieważ androida nie ma na liście platform.

W razie jakiejś pilniejszej sprawy - jestem często dostępny na kanale IRC B@P, na forum czasami zapominam zajrzeć lub nie mam czasu.

matszpk

cześć. o app_info.xml wiem i do poprzedniej aplikacji dodałem je (wystarczy przekopiować zawartość archiwum). Testy będę robił raczej w "sztucznym środowisku", żeby się przekonać, że wszystko działa przed przerabianiem WU.

goofyx

Mam HTC Hero.
Wszystko idzie zgodnie z instrukcją do momentu:
/bin/boinc_client --allow_remote_gui_rpc

wtedy pokazuje mi tekst: permission denied

ps.: telefon nie jest zrootowany

matszpk

cześć goofyx. musisz wpisać
../bin/boinc_client --allow_remote_gui_rpc
po prostu w gdy jesteś w katalogu boinc to w ../bin znajduje się boinc_cient.
wpisz dokładnie ścieżkę do boinc_client.
aha. jeszcze jedno. umieściłem trzy wersje boinc_client. zapomniałem jednak dodać to do instrukcji.
boinc_client_with_vfp - jeśli masz CPU z VFP (np.: ARMv6)
boinc_client_armv7_neon - jeśli masz ARMv7 z VFP NEON.
w twoim przypadku użyj zwykłego boinc_cient.
jeszcze jedno. pierwsze uruchomienie klienta ma na celu utworzenie plików w katalogu boinc.
po następnym rejestrujesz swoja komórkę w projekcie. w ostatnim odpalasz aplikację
(przedtem musisz ją przekopiować do katalogu projektu).


matszpk

komunikat permission denied zawsze się pokazuje gdy sprobujeś uruchomić programu, którego nie ma. więc się nie martw.
postępuj zgodnie instrukcją. w razie problemów proszę pisać.

goofyx

Cytat: matszpk w 15 Lipiec 2011, 10:52
komunikat permission denied zawsze się pokazuje gdy sprobujeś uruchomić programu, którego nie ma. więc się nie martw.
postępuj zgodnie instrukcją. w razie problemów proszę pisać.
Chyba się nie zrozumieliśmy <- albo ja czegoś nie rozumiem ;)
Robię punkt po punkcie z instrukcji <- mam ją wydrukowaną przed sobą.
Dochodzę do pkt.6 mam permission denied co raczej nie jest fajne <- i na tym kończę.

ps.: plik boinc_client rzeczywiście nie znajduje się w katalogu boinc (jak to jest w instrukcji.
Ale nawet jak wejdę do katalogu /data/local/tmp/bin <- i tu odpalam boinc_client (jakiegokolwiek) to mam permission denied