Message boards : Number crunching : Howto for aarch64 machines (ODROID C2, Pine64, Banana PI HC5...)
Message board moderation

To post messages, you must log in.

AuthorMessage
Sirko Zidlewitz

Send message
Joined: 6 Nov 16
Posts: 1
Credit: 2,584,267
RAC: 0
Message 1761 - Posted: 15 Nov 2016, 13:12:04 UTC

# 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
ID: 1761 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
franz

Send message
Joined: 15 Jan 17
Posts: 1
Credit: 2,467,567
RAC: 37,810
Message 1890 - Posted: 17 Jan 2017, 11:34:15 UTC - in response to Message 1761.  

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:


root@odroid64# file /var/lib/boinc-client/projects/universeathome.pl_universe/BHspin2_1_aarch64-unknown-linux-gnu 



it says


BHspin2_1_aarch64-unknown-linux-gnu: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=6b25c05231694a96050d69c0a2a5a110dbc3058c, not stripped



... 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...
ID: 1890 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile [B@P] Daniel

Send message
Joined: 21 Sep 16
Posts: 9
Credit: 2,676,333
RAC: 0
Message 1931 - Posted: 3 Feb 2017, 7:36:24 UTC

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
ID: 1931 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Aaron

Send message
Joined: 16 Apr 17
Posts: 36
Credit: 39,603,949
RAC: 0
Message 2255 - Posted: 26 May 2017, 2:00:13 UTC - in response to Message 1761.  

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.
ID: 2255 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
poppinfresh99

Send message
Joined: 2 Feb 20
Posts: 2
Credit: 1,246,667
RAC: 0
Message 4336 - Posted: 2 Jun 2020, 15:29:28 UTC - in response to Message 2255.  

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
ID: 4336 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Keith Myers
Avatar

Send message
Joined: 10 May 20
Posts: 141
Credit: 1,679,232,033
RAC: 2,845,718
Message 4392 - Posted: 15 Jul 2020, 18:29:52 UTC - in response to Message 2255.  

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.

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)
ID: 4392 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
zombie67 [MM]
Avatar

Send message
Joined: 4 Feb 15
Posts: 12
Credit: 65,184,501
RAC: 0
Message 4405 - Posted: 24 Jul 2020, 4:45:41 UTC
Last modified: 24 Jul 2020, 5:45:14 UTC

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
ID: 4405 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Krzysztof Piszczek - wspieram ...
Project administrator
Project developer
Project tester
Avatar

Send message
Joined: 4 Feb 15
Posts: 748
Credit: 140,962,465
RAC: 8,986
Message 4406 - Posted: 24 Jul 2020, 7:03:52 UTC

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
ID: 4406 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote

Message boards : Number crunching : Howto for aarch64 machines (ODROID C2, Pine64, Banana PI HC5...)




Copyright © 2021 Copernicus Astronomical Centre of the Polish Academy of Sciences
Project server and website managed by Krzysztof 'krzyszp' Piszczek