ARM NEON version for Raspberry
Message boards :
Unix/Linux :
ARM NEON version for Raspberry
Message board moderation
Author | Message |
---|---|
Send message Joined: 25 Oct 19 Posts: 2 Credit: 960 RAC: 0 |
|
Send message Joined: 25 Oct 19 Posts: 2 Credit: 960 RAC: 0 |
I can compile it myself but source code is needed. Unfortunately existing source code is quite useless - definitely not used for boinc client compilation. Raspberry Pi4 is quite promising, allowing overclocking from standard 1,5GHz to 2,1GHz (for 45 USD 2GB version + 11 USD cooler and 7 USD power supply) and Boinc benchmark calculate around 80 000 MIPS (Dhrystone) and 2 9000 MIPS (Whetstone). All modern ARM CPUs (ARMv8 and beyond) support NEON instruction set and GCC 9.x fully support it.
|
Send message Joined: 1 Jan 13 Posts: 90 Credit: 10,365,613 RAC: 6,726 |
Hello gentleman74, the current rpi version is compiled with march=armv8-a +simd option - is already enabled by default, see https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html +crc - these instructions aren't used by the app, so enabling this option will have no effect unlike x86 apps, we don't have handwritten optimizations for ARMs, so NEON optimizations depend on the compiler's auto vectorization capabilities. unfortunately playing with these compiler flags without code changes and manual optimizations won't make a difference. It's not that easy, but if you're interested in development I can give you a link to the recent source code (PM me). |
Send message Joined: 11 Sep 12 Posts: 21 Credit: 6,127,610 RAC: 1,312 |
Last modified: 9 Feb 2024, 21:09:53 UTC Is it possible to compile ARM NEON version for Raspberry? In case of Raspberry Pi4 : You are aware that NEON is a 32-bit instruction, so only useful on Raspberries that run a 32-bit OS? For a Pi4 (or higher) better use the 64-bit instructions set. The equivalent of NEON is SIMD there. |
Send message Joined: 11 Sep 12 Posts: 21 Credit: 6,127,610 RAC: 1,312 |
You can actually see the supported instruction set features in the log of the BOINC manager when booting up. For a 64-bit OS running PI 4 this is as follows 9 2/10/2024 12:20:07 AM Processor: 4 ARM BCM2835 [Impl 0x41 Arch 8 Variant 0x0 Part 0xd08 Rev 3] 10 2/10/2024 12:20:07 AM Processor features: fp asimd evtstrm crc32 cpuid 11 2/10/2024 12:20:07 AM OS: Linux Debian: Debian GNU/Linux 11 (bullseye) [6.1.47-v8+|libc 2.31 (Debian GLIBC 2.31-13+rpt2+rpi1+deb11u7)] So fp, asimd, evtstrm, crc32 and cpuid (all 64-bit instructions) are mentioned, no NEON. If you want to see NEON, start an original Rapsberry Pi with an ARM11 CPU, or a Raspberry Pi 2 or 3 , running a 32-bit OS to see 10 2/10/2024 12:20:07 AM Processor features: swp, half, thumb, fastmult, VFP, edsp, thumbEE, NEON, VFPv3, tls which are all 32-bit instructions. |
Send message Joined: 1 Jan 13 Posts: 90 Credit: 10,365,613 RAC: 6,726 |
|
Message boards :
Unix/Linux :
ARM NEON version for Raspberry