Seite 1 von 1

Nvidia Jetson TK1 - aktueller Status

Verfasst: 25.09.2015 14:32
von ChristianB
Dem Verein wurde von der Firma Megware ein NVIDIA Jetson TK1 Developerboard gespendet. Die Maßgabe war es interessierten Projekten zur Verfügung zu stellen damit diese dort Anwendungen testen können.

Die CPU des Boards ist, aufgrund des Cortex A15, mit vorhandenen Anwendungen kompatibel. Es kann also jedes Projekt was eine App für ARM (Hardwarefloat) anbietet darauf rechnen. Aktuell läuft yoyo@home (OGR).

Die GPU unterstützt grundsätzlich CUDA (compute capability 3.2). Vorhandene GPU-Apps sind aber nicht kompatibel da diese für x86 Prozessoren kompiliert wurden. Man muss also die GPU-App für ARM mit CUDA kompilieren. Das habe ich mit der Binary Radio Pulsar App (BRP) von Einstein@home gemacht. Mit wenigen Veränderungen und keinem Eingriff in den Code hatte ich eine ausführbare Datei welche eine BRP4 Aufgabe in knapp über 3 Stunden auf der GPU des Jetson wegknupsert. Leider ist die Integration der App in BOINC in diesem speziellen Fall nicht so einfach. Daher habe ich einen Nutzer bei Seti@home kontaktiert der ebenfalls ein Jetson betreibt. Der hat mir die Dateien für Seti@home geschickt welche sich besser integriert haben. Damit läuft jetzt erstmal Seti@home auf der GPU des Jetson. Das Ziel ist es aber Einstein@home auch zum laufen zu bringen, ich hoffe bis zum Ende des Jahres (Ich bin in Kontakt mit dem Projekt).

Insgesamt ist die Plattform (CUDA on ARM) für BOINC Projekte noch recht uninteressant weil es zu wenige davon gibt. Wir müssen mal beobachten wie sich das ändert.

Hier noch ein paar Links zu dem Board welche ich hilfreich fand: Wir haben aktuell das CUDA Toolkit 6.5 und L4T R21.3 (Ubuntu 14.04) installiert. Wer mal eine eigene CUDA App darauf kompilieren und ausprobieren will kann sich gerne bei mir melden.

Re: Nvidia Jetson TK1 - aktueller Status

Verfasst: 25.09.2015 15:10
von Michael H.W. Weber
ChristianB hat geschrieben:Dem Verein wurde von der Firma Megware ein NVIDIA Jetson TK1 Developerboard gespendet. Die Maßgabe war es interessierten Projekten zur Verfügung zu stellen damit diese dort Anwendungen testen können.
Ich habe aus diesem Grund in meinem Vortrag vom 17. September auf dem Citizen Cyberlab Summit in Genf eine eigene Folie dazu gemacht und dort allen Projektentwicklern angeboten, dass sowohl das JETSON, als auch alle andere ARM Hardware, die wir haben, auf Wunsch per SSH zugänglich gemacht wird.

Das hat unter anderem zu einem Gespräch mit Francois Grey geführt, dem ich dann berichtete, das ARM UK sich auf meine Anfrage von vor ca. 2 Jahren nicht mal mit einer Absage rückgemeldet hat. Er berichtete mir, er könnte da den Kontakt herstellen und hatte die Vermutung, das wir vermutlich zu früh angefragt hatten (damals war ARM für rechenintensivere Aufgaben gerade erst im Kommen).
Mir geht es darum, dass wir möglichst frühzeitig Entwicklerboards bekommen, die wir ebenfalls per SSH zugänglch machen können.
Dann um eine Portierung SSE => NEON.
Und es wäre natürlich hübsch, wenn ARM vielleicht auch mit gezieltem Blick auf HPC etwas entwickeln könnte.
Die Ratio Leistung/Watt ist einfach zu verführerisch.

Übrigens: Hetzner bietet neuerdings ODROID-Server an.

Michael.

P.S.: Momentan sind das oben erwähnte NVIDIA Jetson Tegra K1 und ein ODROID-U2 (Cortex-A9) im Space zugänglich.

Re: Nvidia Jetson TK1 - aktueller Status

Verfasst: 25.09.2015 15:27
von Eric
Michael H.W. Weber hat geschrieben: Übrigens: Hetzner bietet neuerdings ODROID-Server an.
Stimmt. Da sehe ich persönlich aber den Preis als überzogen an. Der XU4 kostet ja gerade mal 80€. Ein paar Euro für eine eMMC und je nach Vorlieben nochmal 50€ für die Cloudshell (TFT, 2,5" HDD Adapter) und schon hat man seinen kleinen Server/NAS.

Re: Nvidia Jetson TK1 - aktueller Status

Verfasst: 26.09.2015 21:53
von nico
ChristianB hat geschrieben: Die GPU unterstützt grundsätzlich CUDA (compute capability 3.2). Vorhandene GPU-Apps sind aber nicht kompatibel da diese für x86 Prozessoren kompiliert wurden. Man muss also die GPU-App für ARM mit CUDA kompilieren. Das habe ich mit der Binary Radio Pulsar App (BRP) von Einstein@home gemacht. Mit wenigen Veränderungen und keinem Eingriff in den Code hatte ich eine ausführbare Datei welche eine BRP4 Aufgabe in knapp über 3 Stunden auf der GPU des Jetson wegknupsert. Leider ist die Integration der App in BOINC in diesem speziellen Fall nicht so einfach. Daher habe ich einen Nutzer bei Seti@home kontaktiert der ebenfalls ein Jetson betreibt. Der hat mir die Dateien für Seti@home geschickt welche sich besser integriert haben. Damit läuft jetzt erstmal Seti@home auf der GPU des Jetson. Das Ziel ist es aber Einstein@home auch zum laufen zu bringen, ich hoffe bis zum Ende des Jahres (Ich bin in Kontakt mit dem Projekt)
Sehr geil! Könntest du sicherlich als Paper/Vortrag auf der nächstjährigen NVidia GPGPU Konferenz vorstellen: http://www.gputechconf.com/ - und damit vielleicht etwas das Thema BOINC in der GPGPU-Community pushen. Vielleicht ergibt sich da auch eine Möglichkeit mit NVidia über weiteres zu reden.

Re: Nvidia Jetson TK1 - aktueller Status

Verfasst: 07.11.2015 14:30
von ChristianB
Bei den ersten Tests hat das Jetson nur einen Kern gestartet und erst nach Bedarf die anderen frei dazugeschaltet. Das Blöde ist das während die Kerne ausgeschaltet sind auch BOINC von denen nichts weiß. Daher müssen, wenn das Jetson headless betrieben wird, die restlichen drei Kerne per Hand aktiviert werden. Ich habe dazu die Datei /etc/rc.local erweitert. Das hat aber nicht immer funktioniert weil während des Bootvorgangs solche Änderungen anscheinend nicht möglich sind. Da müsste man mal noch etwas mehr rumprobieren.

Code: Alles auswählen

# maximize CPU performance after each restart
# see: http://elinux.org/Jetson/Performance#Maximizing_CPU_performance
echo 0 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable
echo 1 > /sys/devices/system/cpu/cpu0/online
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Re: Nvidia Jetson TK1 - aktueller Status

Verfasst: 07.11.2015 15:26
von JagDoc
ChristianB hat geschrieben:Bei den ersten Tests hat das Jetson nur einen Kern gestartet und erst nach Bedarf die anderen frei dazugeschaltet. Das Blöde ist das während die Kerne ausgeschaltet sind auch BOINC von denen nichts weiß. Daher müssen, wenn das Jetson headless betrieben wird, die restlichen drei Kerne per Hand aktiviert werden. Ich habe dazu die Datei /etc/rc.local erweitert. Das hat aber nicht immer funktioniert weil während des Bootvorgangs solche Änderungen anscheinend nicht möglich sind. Da müsste man mal noch etwas mehr rumprobieren.
Damit habe ich mich bei meinen Jetson-TK1 auch rumgeärgert und wußte nicht warum nur ein Kern lief.
Ich hab dann einfach eine cc_config.xml erstellt und Boinc damit klargemacht das es 4 Kerne hat und damit auch rechnet:

Code: Alles auswählen

<cc_config>
<options>
<ncpus>4</ncpus>
</options>
</cc_config>
Oder in eine existierende cc_config.xml einfügen.
So klappt es bei mir jetzt ohne Probleme.

Re: Nvidia Jetson TK1 - aktueller Status

Verfasst: 07.11.2015 15:44
von ChristianB
Dankeschön, ich habe das mal eingefügt. Manchmal fallen einem die einfachsten Sachen nicht ein.

Re: Nvidia Jetson TK1 - aktueller Status

Verfasst: 12.03.2020 15:26
von daka
Hallo Freunde,

ich habe hier ein Jetson TX1 Board rumliegen. Nachdem ich BOINC installiert habe, rechnet er auch ohne weiteres mit den 4 ARM CPU fleißig los. Nun würde ich gerne die GPU zum rechnen bewegen. Irgendwelche Ideen oder Fortschritte wie ich die GPU aktiviere?

Habe mich an diese Anleitung gehalten -> https://help.ubuntu.com/community/Cuda, aber ohne Erfolg.

Vielen Dank :)

Re: Nvidia Jetson TK1 - aktueller Status

Verfasst: 18.03.2020 17:42
von Michael H.W. Weber
Wenn ich mich nicht sehr täusche, hat Christian die GPU für Einstein@home ans Laufen bekommen. Details habe ich aber auch nicht mehr präsent.

Michael.