Message boards :
SETI@home Enhanced :
Setiathome_v8 for Raspberry Pi?
Message board moderation
Author | Message |
---|---|
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 |
I attached a Pi2 to the project and it can't get any work. The message in the BOINC log says: SETI@home Beta Test 11-01-2016 10:57 PM Sending scheduler request: To fetch work. SETI@home Beta Test 11-01-2016 10:57 PM Requesting new tasks for CPU SETI@home Beta Test 11-01-2016 10:57 PM Scheduler request completed: got 0 new tasks SETI@home Beta Test 11-01-2016 10:57 PM No tasks sent SETI@home Beta Test 11-01-2016 10:57 PM No tasks are available for SETI@home v8 SETI@home Beta Test 11-01-2016 10:57 PM Tasks for NVIDIA GPU are available, but your preferences are set to not accept them SETI@home Beta Test 11-01-2016 10:57 PM Tasks for AMD/ATI GPU are available, but your preferences are set to not accept them SETI@home Beta Test 11-01-2016 10:57 PM Tasks for Intel GPU are available, but your preferences are set to not accept them Its this host Do we have a v8 app for the Raspberry Pi2? |
Send message Joined: 14 Feb 13 Posts: 606 Credit: 588,843 RAC: 0 |
Claggy emailed to Eric on the 8th Built Armv7 apps at r3304 in the meantime, a generic one, and a slightly faster one with fast maths selected, Looks like a v7 raspberry pi app to me - also Claggy wrote n the news thread there would eventually be armv7 apps for pi 2 (not arm av6/pi), so I guess that was it. if it doesn't turn up in a few days amongst the deployed apps you may want to ask Eric about them in the news thread - Claggy is taking a break from SETI/BOINC so he will probably not follow up himself in the near future. A person who won't read has no advantage over one who can't read. (Mark Twain) |
Send message Joined: 4 Aug 08 Posts: 11 Credit: 1,437,079 RAC: 0 |
yesterday builded latest rev from svn - need to add one minssing include there - for both PIs used native in march, mcpu and mtune, hard float , fast math and fpu is neon-vfpv4 for PI 2, vfp for PI builds are on lunatics website, use app info xml for usage. now running successfully on mine PIs (have both of them) |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 |
Just picked up an app from the project. Unfortunately it's for the armv6l so not really suitable for a Pi2. It looks like the scheduler isn't using the CPU features being reported to give the best app, which should be an armv7l using the neon extensions as mimo mentioned. I expect they'll take over a week to complete due to being the wrong app, maybe if not much progress by tomorrow I'll abort them. |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 |
One task completed after 1000+ seconds. Next request for work picked up an armv7l task, so hopefully it will be quicker. The 3 remaining armv6l tasks are about 36% done after 9 hours so I will let them run to completion. |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 |
armv7l finished in 100,000 sec, the remaining armv6l tasks came in at 97,000 sec apart from the one that overflowed. The angle range was totally different between the v7l and v6l tasks. The app outputs the cpu features so I suspect it might choose neon extension if they're available regardless of it being an armv6l or armv7l. Everything seems to be validating. @mimo, I presume computer 77324 is your Pi2. It doesn't have any tasks listed. Have you run that optimised app you mentioned before on it, if so what are your run times like? |
Send message Joined: 4 Aug 08 Posts: 11 Credit: 1,437,079 RAC: 0 |
i resumed my PI 2 for this project so i will compute some tasks now and compare it with non beta tasks on my PI2 i am using now an app wich is more optimized (now really using neon in fftw and app) and in meanwhile i am trying to compile them both with linaro toolchain to see if there will be even more speedup |
Send message Joined: 29 May 06 Posts: 1037 Credit: 8,440,339 RAC: 0 |
armv7l finished in 100,000 sec, the remaining armv6l tasks came in at 97,000 sec apart from the one that overflowed. My slightly earlier revision armv7l app comes in at ~95,000 secs, without using any extra options, not even fast mathes, Using all the 'march, mcpu and mtune, hard float, fast math and fpu is neon-vfpv4 for PI 2, vfp for PI' options is a bad idea, the point of the project supplying armv6l and armv7l apps is that they should work on any compatible host. The armv7l app doesn't work on the Parallella, It doesn't have vfpv4: host 74287 features: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32 <core_client_version>7.6.22</core_client_version> Claggy |
Send message Joined: 22 Jul 15 Posts: 21 Credit: 113,162 RAC: 0 |
I built the two apps that are being served by Beta. I have since sent Eric revised builds that are more generic, but I don't think he has posted them to the server. I will resend them to Eric. My latest build of the armv7l app uses just -mfpu=neon. It should run on any armhf with neon. My experience is that the more generic builds run faster. I will share my latest build notes this evening. I'd like to figure out the best builds for both the basic armv6 (Pi1) and the armv7 (neon armhf devices and Pi2). I also sent Eric an e-mail about a file issue with the armv6l app. The server is pushing out an app_info.xml file with the armv6l app. If you restart your computer or Boinc, you will get an error and Boinc will abandon the tasks. I had to detach from the project and reattach to get it to work again. |
Send message Joined: 22 Jul 15 Posts: 21 Credit: 113,162 RAC: 0 |
I got an email from Eric that he is updating Beta today with my latest app builds and fixing the app_info.xml file problem. Please post if the armv7l app works on other Linux armhf devices. Eric noted and I have noticed that the current armv6l runs about 15% faster than the armv7l on a Pi2. It is interesting and should be the other way around. Hopefully the new builds will be better. - Tom |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 |
I noticed the armv6l seem to be slightly faster than v7l. I haven't tried mimo's optimised build yet. I couldn't find it on the Lunatics site. As for testing on other arm devices I have a couple of Parallella's so I will attach one of them to the project to see how they go. Is there any advantage in having fftw wisdom files, if so what fft lengths? That is does the app read them if they are present. I have some wisdom files due to an earlier Einstein app that would use them. |
Send message Joined: 22 Jul 15 Posts: 21 Credit: 113,162 RAC: 0 |
The two Linux armhf 8.01 apps were built with the following: Start with a fresh installation of Raspbian version: 2015-11-21-raspbian-jessie-lite on a SD card. sudo apt-get update sudo apt-get dist-upgrade Get prerequisites sudo apt-get update sudo apt-get install git make m4 libtool autoconf pkg-config automake subversion libcurl4-openssl-dev libssl-dev gettext docbook2x docbook-xml libxml2-utils zlib1g-dev libsm-dev libice-dev libxmu-dev libxi-dev libx11-dev libnotify-dev freeglut3-dev libfcgi-dev libjpeg8-dev libxss-dev libxcb-util0-dev libxcb-dpms0-dev libxext-dev libstdc++6-4.7-dev libfftw3-dev Note - The Debian-based versions of libfftw3-dev have a patch that does run-time detection of neon (see the details in the patches folder: http://http.debian.net/debian/pool/main/f/fftw3/fftw3_3.3.4-2.debian.tar.xz). Get and build the Boinc libraries - Current Version git clone https://github.com/BOINC/boinc boinc cd boinc ./_autosetup ./configure --disable-server --disable-manager LDFLAGS=-static-libgcc --with-boinc-platform=arm-unknown-linux-gnueabihf make (“make -j 4†on the Pi2 to make with all 4 cores) cd ~ Now get the Seti_boinc source, and build the app: svn checkout https://setisvn.ssl.berkeley.edu/svn/seti_boinc@3304 seti_boinc (Currently revisions after 3304 don’t compile, so get 3304) cd seti_boinc ./_autosetup On the Pi1: ./configure CFLAGS="-O3" CXXFLAGS="-O3" BOINCDIR=/home/pi/boinc --enable-client --enable-static --disable-shared --disable-server --enable-fast-math --with-float-abi=hard --with-fpu=vfp --disable-neon On the Pi2: ./configure CFLAGS="-O3" CXXFLAGS="-O3" BOINCDIR=/home/pi/boinc --enable-client --enable-static --disable-shared --disable-server --enable-fast-math --with-float-abi=hard --with-fpu=neon make (“make -j 4†on the Pi2 to make with all 4 cores) ls -l client On Pi1: if setiathome-8.0.armv6l-unknown-linux-gnueabihf exists, compilation has been successful. On Pi2: if setiathome-8.0.armv7l-unknown-linux-gnueabihf exists, compilation has been successful. Please let me know if you have other ideas on building the apps. Strangely the armv6l and armv7l apps are exactly the same size which makes me think that the two builds produce the same code (I just noticed this tonight on one of my Pi2's that downloaded both apps). I'm building the armv6l app on a Raspberry Pi Model B Rev. 2 (Pi1) and the armv7l on a Raspberry Pi 2 Model B (Pi2). - Tom |
Send message Joined: 22 Jul 15 Posts: 21 Credit: 113,162 RAC: 0 |
I read through the Makefiles built by configure on both the Pi1 and Pi2. The Pi1 Makefile has the following CFLAGS/CXXFLAGS: CFLAGS = -O3 -I/usr/local/include -ffast-math -I/usr/include -I/usr/include/openssl It also has: FP_ABI_FLAGS = -mfloat-abi=hard FP_FLAGS = -mfpu=vfp The Pi2 Makefile has the following CFLAGS/CXXFLAGS: CFLAGS = -O3 -DUSE_NEON -I/usr/local/include -ffast-math -I/usr/include -I/usr/include/openssl and: FP_ABI_FLAGS = -mfloat-abi=hard FP_FLAGS = -mfpu=neon In the configure options, it looks like I can drop the CXXFLAGS. Reading the configure script, it looks like it will make them the same. For the armv6l build, it looks like the CFLAGS should be "-O3 -mfloat-abi=hard -mfpu=vfp" since configure isn't adding them. For the armv7l build, it looks like the CFLAGS should be ""-O3 -mfloat-abi=hard -mfpu=neon" Claggy - My assumption is that all computers running Linux armhf (arm-unknown-linux-gnueabihf reported by Boinc) at a minimum would work with mfloat-abi=hard and mfpu=vfp. So we would want an app that works with these (the armv6l app) and one that works with the neon extensions (the armv7l app). Am I wrong about this? Also, should I drop --enable-fast-math from the configure line. It looks like configure does add this to the CFLAGS. Have you had a faster app without it? I'd also suggest changing the naming of the apps to setiathome-8.0.arm-unknown-linux-gnueabihf for the armv6l app since it isn't really tied to the armv6l processor. It should work on any Linux armhf computer that supports vfp including an armv5 with vfp if there are any that are running Linux armhf (I doubt this though). I'd also call the armv7l app setiathome-8.0.arm-unknown-linux-gnueabihf_NEON since it should run on any Linux armhf computer that supports neon including some of the armv6 processors (also doubtful since Debian requires armv7 to run armhf - this is one of the reasons Raspbian had to port to Debian armhf to the armv6 for the Pi1s). |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 |
We could use mimo's options as an optimised app. Do any of you rebuild fftw of are we just using the Debian build which auto-detects neon? It might produce faster results with the same options mimo's used for the multi beam app. Again I'd reserve it for an optimised app otherwise you'll have the portability issue Claggy mentioned. |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 |
Found an old email from Josef W Segur regarding fftw3 and wisdom. This was for MB v7 so there may be additional fft lengths used in v8. I am not sure if the v8 app will check for a wisdom file or not. Maybe Tom or Claggy could let me know what directory and file name it expects or does it use the default one (according to fftw docs its called /etc/fftw/wisdom) sudo apt-get update sudo apt-get install libfftw3-dev cd /etc/fftw sudo fftwf-wisdom -v -o wisdom.sah ko131072e10 cob131072 cob65536 cob16384 cob32768 cob8192 cob4096 cob2048 cob1024 cob512 cob256 cob128 cob64 cob32 cob16 cob8 cif32768 CPU features Pi B+ half thumb fastmult vfp edsp java tls Pi2 half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm Parallella swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32 |
Send message Joined: 4 Aug 08 Posts: 11 Credit: 1,437,079 RAC: 0 |
be aware that the neon autovectorize in gcc is used only when -funsafe-math-optimizations is used |
Send message Joined: 18 Aug 05 Posts: 2423 Credit: 15,878,738 RAC: 0 |
Parallella BTW, this device can be used as GPU to enable its Epiphany massive-parallel part. Try to build OpenCL app's sources for this device. AFAIK no one did it so far and in my list it's always delayed due to other tasks. Performance of its ARM part should be much lower than its massive-parallel chip. News about SETI opt app releases: https://twitter.com/Raistmer |
Send message Joined: 22 Jul 15 Posts: 21 Credit: 113,162 RAC: 0 |
be aware that the neon autovectorize in gcc is used only when -funsafe-math-optimizations is used Thanks for the reminder. I'll add that back in. |
Send message Joined: 22 Jul 15 Posts: 21 Credit: 113,162 RAC: 0 |
I've rebuilt the armv7l app with: ./configure CFLAGS="-O3 -mfloat-abi=hard -mfpu=neon -funsafe-math-optimizations" BOINCDIR=/home/pi/boinc --enable-client --enable-static --disable-shared --disable-server --enable-fast-math --with-float-abi=hard --with-fpu=neon I will start testing in on one of my Pi2s tonight. If it works better, I will send it to Eric to post. - Tom |
Send message Joined: 4 Aug 08 Posts: 11 Credit: 1,437,079 RAC: 0 |
add -march=armv7-a and -mtune=cortex-a7 for PI 2 it will be even better |
©2025 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.