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: 5
Credit: 20,712,233
RAC: 0
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: 5
Credit: 3,506,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: 309
Credit: 4,733,484,700
RAC: 0
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: 73,458,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: 846
Credit: 144,180,465
RAC: 0
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
Technik007[CZ]

Send message
Joined: 22 May 16
Posts: 2
Credit: 538,184,740
RAC: 0
Message 4969 - Posted: 2 Dec 2021, 19:32:07 UTC - in response to Message 4406.  

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

Send message
Joined: 10 May 20
Posts: 309
Credit: 4,733,484,700
RAC: 0
Message 4970 - Posted: 2 Dec 2021, 19:53:44 UTC - in response to Message 4969.  

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

Send message
Joined: 15 Jan 17
Posts: 5
Credit: 20,712,233
RAC: 0
Message 4971 - Posted: 2 Dec 2021, 21:46:47 UTC - in response to Message 4970.  

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

Send message
Joined: 10 May 20
Posts: 309
Credit: 4,733,484,700
RAC: 0
Message 4972 - Posted: 2 Dec 2021, 22:04:58 UTC - in response to Message 4971.  

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)
ID: 4972 · 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 © 2024 Copernicus Astronomical Centre of the Polish Academy of Sciences
Project server and website managed by Krzysztof 'krzyszp' Piszczek