ODROID C2

Alles zu mobilen Endgeräten (Smartphones und Tablets) mit purer Rechenkraft
Nachricht
Autor
ChristianB
Admin
Admin
Beiträge: 1920
Registriert: 23.02.2010 22:12

Re: ODROID C2

#109 Ungelesener Beitrag von ChristianB » 03.09.2016 09:40

Tholo: Du hast sicherlich die ArchLinux AArch64 Version installiert. Also die 64-bit ARM version. Du brauchst aber damit die Projekte funktionieren die 32-bit Version von libstdc++6. In Debian nennt sich sowas multiarch und wird mit dem Doppelpunkt wie bei JagDoc's post angegeben.

Tholo
Vereinsmitglied
Vereinsmitglied
Beiträge: 265
Registriert: 10.12.2014 12:56
Wohnort: Zella-Mehlis

Re: ODROID C2

#110 Ungelesener Beitrag von Tholo » 03.09.2016 10:02

Für Armarch64 gibt es zur Zeit keine Multilib DB also auch keine Libs. Das ergaben zumindest meine Recherchen...
Haben alle anderen auf dem C2 das 32Bit OS drauf?64Bit rockt doch mehr oder? Die Pi3 User haben doch dann ähnliches Problem
Bild Bild
Ja ich nutze DC als Gelddruckmaschiene *Gridcoin*

JagDoc
Vereinsmitglied
Vereinsmitglied
Beiträge: 292
Registriert: 03.12.2011 12:05

Re: ODROID C2

#111 Ungelesener Beitrag von JagDoc » 03.09.2016 11:03

Tholo hat geschrieben:Für Armarch64 gibt es zur Zeit keine Multilib DB also auch keine Libs. Das ergaben zumindest meine Recherchen...
Haben alle anderen auf dem C2 das 32Bit OS drauf?64Bit rockt doch mehr oder? Die Pi3 User haben doch dann ähnliches Problem
Das Linux Image von Hardkernel ist 64bit mit 32bit Unterstützung.
Soweit ich weiß hat noch kein Projekt Apps für 64bit Linux-ARM.
Universe bringt evtl eine 64bit App für ARM wenn genügend hosts laufen.
Bild

ChristianB
Admin
Admin
Beiträge: 1920
Registriert: 23.02.2010 22:12

Re: ODROID C2

#112 Ungelesener Beitrag von ChristianB » 03.09.2016 11:11

Ich habe eine für Einstein, die hat aber noch Probleme mit 32bit Apps zu validieren und ich habe keine Zeit das noch auszubügeln. Wir haben aber auch mit Intel GPU's ein ähnliches Problem und ich hoffe wir können da zwei Fliegen mit einer Klappe schlagen aber da laufen die Tests auch noch.

JagDoc
Vereinsmitglied
Vereinsmitglied
Beiträge: 292
Registriert: 03.12.2011 12:05

Re: ODROID C2

#113 Ungelesener Beitrag von JagDoc » 03.09.2016 11:32

ChristianB hat geschrieben:Ich habe eine für Einstein, die hat aber noch Probleme mit 32bit Apps zu validieren und ich habe keine Zeit das noch auszubügeln. Wir haben aber auch mit Intel GPU's ein ähnliches Problem und ich hoffe wir können da zwei Fliegen mit einer Klappe schlagen aber da laufen die Tests auch noch.
Evtl. das Problem? (aus dem Universe Forum):

Code: Alles auswählen

In BHspin2 WU's have to be send to the same architecture because 32 and 64 bits system have different precision in some double calculations and results files are not always identical...
Bild

ChristianB
Admin
Admin
Beiträge: 1920
Registriert: 23.02.2010 22:12

Re: ODROID C2

#114 Ungelesener Beitrag von ChristianB » 03.09.2016 12:30

Ja genau. Wir wissen mittlerweile wo das Problem liegt. Technisch habe ich dazu im Einstein Forum schon was geschrieben: https://einsteinathome.org/goto/comment/149041

Der Intel Treiber macht das intern mit den Berechnungen auf der GPU und der GCC compiler macht das von Haus aus auch für die ARM64 CPUs weil die das auch können.
This goes down to the level of assembler code that is executed on the GPU. Here is the most basic explanation I got from Intel:

Say you have the following:

Code: Alles auswählen

Answer_mul = float0 * float1;
Answer_add = Answer_mul + float2;
This gets converted to the following in assembly.....

Code: Alles auswählen

  Mul %answer_mul, %float0, %float1
  Add %answer_add, %answer_mul, %float2
The value in the register "answer_mul" is rounded before it does the addition.
In the Intel case (and AARch64 too) these two instructions get fused into a "mad" instruction

Code: Alles auswählen

  Mad %answer_mad, %float0, %float1, %float2
The result of the mad instruction is more precise for it does not do the rounding after the multiply.

And because we do a lot of summing of multiplications the seemingly small rounding errors turn out to be significant in the end.
Wir könnten dieses fusing ausschalten, würden dann aber höchstwahrscheinlich auch Geschwindigkeit verlieren oder wir können den Grenzwert für den Vergleich hochsetzen so dass es gerade noch passt aber im schlimmsten Fall nicht das wissenschaftliche Ergebnis beeinträchtigt. Aktuell versuche ich letzteres.

Benutzeravatar
Nuke
CPU-Load-Pusher
CPU-Load-Pusher
Beiträge: 240
Registriert: 23.05.2016 16:40

Re: ODROID C2

#115 Ungelesener Beitrag von Nuke » 04.09.2016 18:45

Ich bin gerade dabei meine C2 einzurichten und etwas ratlos.

Code: Alles auswählen

<alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
ist in der cc_config.xml bei

Code: Alles auswählen

<options>...</options>
eingefügt, wird jedoch ignoriert.

Im Clientlog von BoincTasks steht nicht drin, dass keine cc_config.xml gefunden wurde, was sonst der Fall ist, wenn der Client nur mit den Standardeinstellungen arbeitet. Ich gehe deshalb davon aus, dass sie vom Client verwendet wird. Als Plattform steht im Log jedoch trotzdem "aarch64...".

Was mich auch wunder ist, wenn ich eine komplett neue cc_config.xml über BoincTasks anlege (mit einigen Standardparametern, welche das Programm gleich mit reinschreibt), dann bemängelt der Syntax-Check den <alt_platform> Parameter. Das irritiert mich irgendwie völlig. :bugeye:

JagDoc
Vereinsmitglied
Vereinsmitglied
Beiträge: 292
Registriert: 03.12.2011 12:05

Re: ODROID C2

#116 Ungelesener Beitrag von JagDoc » 04.09.2016 19:08

Die alt_platform wird im Boinc-Log nicht angezeigt.
Da steht bei meinen C2 auch aarch64-unknown-linux-gnu .
Ändert sich ja auch nicht durch alt_platform, es wird nur beides akzeptiert.

Füge einfach ein Projekt hinzu.
Das sollte mit:
<options>
<alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
</options>
in der cc_config.xml ohne Fehlermeldung klappen.
Bild

Benutzeravatar
Nuke
CPU-Load-Pusher
CPU-Load-Pusher
Beiträge: 240
Registriert: 23.05.2016 16:40

Re: ODROID C2

#117 Ungelesener Beitrag von Nuke » 04.09.2016 19:22

ich habe sie mal auf diese Zeilen reduziert, alle Projekte rausgeworfen, Client neu gestartet und POGS hinzugefügt:

Code: Alles auswählen

51	pogs	04.09.2016 20:19:46	Nachricht vom Server: This project doesn't support computers of type aarch64-unknown-linux-gnu	
Ich starte den Client übrigens mit

Code: Alles auswählen

boinc --dir /home/odroid/boinc --daemon --allow_remote_gui_rpc --no_gpus
Auf dem PC funktioniert dies so, wie es soll.

Benutzeravatar
Nuke
CPU-Load-Pusher
CPU-Load-Pusher
Beiträge: 240
Registriert: 23.05.2016 16:40

Re: ODROID C2

#118 Ungelesener Beitrag von Nuke » 04.09.2016 19:34

hmm, Asteroids schreibt:

Code: Alles auswählen

Asteroids@home	04.09.2016 20:32:41	Finished download of period_search_10210_arm-unknown-linux-gnueabihf
also kann ich wohl davon ausgehen, dass es doch geht, denn sonst würden die WUs sicher nicht geladen werden.

Edit:
Jap, scheint jetzt zu laufen. Seti und Enigma haben auch WUs geliefert.

Danke.

JagDoc
Vereinsmitglied
Vereinsmitglied
Beiträge: 292
Registriert: 03.12.2011 12:05

Re: ODROID C2

#119 Ungelesener Beitrag von JagDoc » 04.09.2016 19:46

Bei mir startet Boinc automatisch.
Mit sudo apt install boinc installiert
In der cc_config.xml hab drin:

<cc_config>
<options>
<alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
<allow_remote_gui_rpc>1</allow_remote_gui_rpc>
</options>
</cc_config>
Bild

JagDoc
Vereinsmitglied
Vereinsmitglied
Beiträge: 292
Registriert: 03.12.2011 12:05

Re: ODROID C2

#120 Ungelesener Beitrag von JagDoc » 04.09.2016 19:57

Nuke hat geschrieben:ich habe sie mal auf diese Zeilen reduziert, alle Projekte rausgeworfen, Client neu gestartet und POGS hinzugefügt:

Code: Alles auswählen

51	pogs	04.09.2016 20:19:46	Nachricht vom Server: This project doesn't support computers of type aarch64-unknown-linux-gnu	
Pogs läuft unter Linux-ARM nur als anonyme Platform:

Im Boinc-Manager Pogs hinzufügen, kommt die Meldung "keine Arbeit für diesen Computer" trotzdem hinzufügen.

Dann Konsole öffnen -
sudo su
cd /var/lib/boinc-client/
wget https://github.com/dcarrion87/boinc-rpi ... v7l.tar.gz
tar xfz pogs-armv7l.tar.gz

Danach neustarten und Pogs holt sich Arbeit und läuft.
Bild

Antworten

Zurück zu „Mobiles Verteiltes Rechnen & ARM-Systeme“