Message boards :
Number crunching :
Howto for aarch64 machines (ODROID C2, Pine64, Banana PI HC5...)
Message board moderation
Author | Message |
---|---|
Send message Joined: 6 Nov 16 Posts: 1 Credit: 2,584,267 RAC: 0 |
# Following howto covers full installation of a running boinc setup on aarch64 # on Ubuntu 16.04. Tested on several ODROID C2s. apt-get install vim-nox git m4 pkg-config autoconf libtool libcurl4-gnutls-dev libssl-dev git clone https://github.com/BOINC/boinc.git cd boinc/ # in that branch are changes for p_vendor, see # https://www.rechenkraft.net/forum/viewtopic.php?f=83&t=16122&start=144 git checkout cpu_infos_aarch64 ./_autosetup ./configure --disable-server disable-manager --enable-client CXXFLAGS="-O3" make -j4 make install # fixes to get work units from universe@home: dpkg --add-architecture armhf apt-get update apt-get install binutils:armhf libstdc++6:armhf libstdc++6-armhf-cross libc6-armhf-cross libsfstdc++6 groupadd -r boinc useradd -r -s /bin/bash -d /var/lib/boinc -g boinc boinc echo "BOINCDIR=/var/lib/boinc" >> /etc/default/boinc-client # Not needed for universe@home, to get work units from other projects: echo "<cc_config>" > /var/lib/boinc/cc_config.xml echo "<options>" >> /var/lib/boinc/cc_config.xml echo "<alt_platform>arm-unknown-linux-gnueabihf</alt_platform>" >> /var/lib/boinc/cc_config.xml echo "</options>" >> /var/lib/boinc/cc_config.xml echo "</cc_config>" >> /var/lib/boinc/cc_config.xml chown -R boinc:boinc /var/lib/boinc |
Send message Joined: 15 Jan 17 Posts: 5 Credit: 20,712,233 RAC: 0 |
That's nice, but not very useful. On ODROID C2 I can simply install boinc-client and boinc-manager via apt. What i'd be interested in, is how to compile the universe app itself for aarch64. Currently when i look at it:
it says
... so basically it's a 32bit executable pretending to be 64bit. Nice but not the best. NEON in ARMv8 a) has 2x more registers, b) is 754 compliant, c) has vectors with double elements. A properly optimized binary for ARMv8 would be much more useful, but i guess that's going to take a while... |
Send message Joined: 21 Sep 16 Posts: 9 Credit: 2,676,333 RAC: 0 |
Recently I have installed BOINC on Odroid C2 and was able to install it using apt-get as usual. I only had to configure alternative platform in cc_config.xml and install 32 bit libs like you did. Could you prepare 64-bit ARM app with NEON support? It would allow us to crunch faster. Recently I have added NEON support for my optimized TN-Grid app. The most difficult part was finding appropriate NEON intrinsics and adding them to traits structure for NEON. Remaining part of work was done automagically by compiler (template programming magic :)) You can take a look on it, maybe you could use similar approach in your app: https://bitbucket.org/sirzooro/pc-boinc |
Send message Joined: 16 Apr 17 Posts: 36 Credit: 39,603,949 RAC: 0 |
I can't get my Pine64 to work at all on this project. Host data: http://universeathome.pl/universe/show_host_detail.php?hostid=81465 It does seem to be working fine on Yoyo@home. I tried to follow your instructions, but I couldn't install the libraries (unable to locate package). Any extra tips would be helpful. |
Send message Joined: 2 Feb 20 Posts: 5 Credit: 3,506,667 RAC: 0 |
On 64-bit Raspberry Pi OS https://www.raspberrypi.org/forums/viewtopic.php?t=275370 I had to first get the 32-bit C++ library for Universe@home to work... https://boinc.berkeley.edu/forum_thread.php?id=11411 I did the following change to cc_config.xml ( https://boinc.berkeley.edu/wiki/Client_configuration ) sudo nano /var/lib/boinc/cc_config.xml <options> <alt_platform>arm-unknown-linux-gnueabihf</alt_platform> </options> Then... sudo systemctl restart boinc-client |
Send message Joined: 10 May 20 Posts: 309 Credit: 4,733,484,700 RAC: 0 |
I can't get my Pine64 to work at all on this project. Host data: http://universeathome.pl/universe/show_host_detail.php?hostid=81465 I am in the same situation on my Jetson Nano. No 32 bit library packages available. I have it working on Rosetta cpu tasks and both cpu and gpu task at Einstein. A proud member of the OFA (Old Farts Association) |
Send message Joined: 4 Feb 15 Posts: 12 Credit: 73,458,501 RAC: 0 |
RP4 is now common, and Raspberry Pi 64bit (aarch64) is available. Any chance for a 64 bit Universe ULX app that just works? Dublin, California Team: SETI.USA |
Send message Joined: 4 Feb 15 Posts: 846 Credit: 144,180,465 RAC: 0 |
ARM 64bit architecture is quite different and I can't compile ARM64 code without major changes in application :( Krzysztof 'krzyszp' Piszczek Member of Radioactive@Home team My Patreon profile Universe@Home on YT |
Send message Joined: 22 May 16 Posts: 2 Credit: 538,184,740 RAC: 0 |
I have 15pcs NanoPi Fire3-LTS boards equipped with 64bit Octa-core Arm SoC. I run on this boards Universe, Wanless, Tngrid and LHC@home. The latter one I added recently because they created aarch64 app. Tngrid has got 64-bit ARM long time ago. So I went to Wanless and found out they added 64-bit ARM recently as-well. But to receive only 64bit tasks I had to remove armhf support from cc_config.xml. And with this change I have stopped receiving work for Universe@home. I could go back and open support for armhf apps on my boards but there is big performance penalty for Wanless project so I will not to do it. Hopefully I can run Universe@home on 2 other boards Raspberry Pi. |
Send message Joined: 10 May 20 Posts: 309 Credit: 4,733,484,700 RAC: 0 |
Can you tell me how you got Universe tasks to run on your ARM64 board with armhf architecture added? I have added the dpkg armhf package libraries and received tasks but they all fail. A proud member of the OFA (Old Farts Association) |
Send message Joined: 15 Jan 17 Posts: 5 Credit: 20,712,233 RAC: 0 |
can you try launching the binary directly ? as in, from command line, run /var/lib/boinc-client/projects/universeathome.pl_universe/BHspin2_19_arm-unknown-linux-gnueabihf (adjust if your boinc is not in /var/lib) does it print anything useful ? |
Send message Joined: 10 May 20 Posts: 309 Credit: 4,733,484,700 RAC: 0 |
Should have checked the Manager before attempting to run the app locally. Currently running a task now at 50 minutes so the previous issue of just dumping the task immediately is solved somehow. I was getting this for all the previous attempts. <core_client_version>7.16.6</core_client_version> <![CDATA[ <message> process exited with code 2 (0x2, -254)</message> <stderr_txt> Process creation (../../projects/universeathome.pl_universe/BHspin2_19_arm-unknown-linux-gnueabihf) failed: Error -1, errno=2 execv: No such file or directory </stderr_txt> ]]> So the latest update and reboot seems to have done something. Thanks for the reply. A proud member of the OFA (Old Farts Association) |