There are more and more SBCs on the market, but which one is best for BOINC?
As logic has it, one has to have the latest of the latest in order to get the best (and most efficiënt) performance.
Does this hold true in the realm of the creditcard sized mobos?
Feature/
BenchmarkRaspberry Pi 1
A, B, A+, B+Beaglebone
Black, GreenOdroid-C1/C1+ Banana Pi
M1/Pro/M1+Raspberry Pi 2 Banana Pi M2 Banana Pi M3 Raspberry Pi 3 Odroid-C2 CPU ARM1176JZF-S ARM Cortex-A8 ARM Cortex-A5 ARM Cortex-A7 ARM Cortex-A7 ARM Cortex-A7 ARM Cortex-A7 ARM Cortex-A53 ARM Cortex-A53Architecture ARMv6 ARMv7-a ARMv7-a ARMv7-a ARMv7-a ARMv7-a ARMv7-a ARMv8-a ARMv8-aSOC Broadcom
BCM2835 Texas Instruments
Sitara AM3358 Amlogic
S805 Allwinner
A20 Broadcom
BCM2836 Allwinner
A31s Allwinner
A83t Broadcom
BCM2837 Amlogic
S905Cores 1 1 4 2 4 4 8 4 4Stockspeed 700 MHz 1000 MHz 1500 MHz 1000 MHz 900 MHz 1000 MHz 2000 MHz 1200 MHz 2000 MHzDMIPS/MHz 1.25 2.01 1.57 1.9 1.9 1.9 1.9 2.3 2.3BOINC Floating Point
MIPS (Whetstone)
per core 222 (700 MHz) -
338 (1000 MHz) 184 (Debian)
277 (Android) 623 463 292 (Stock)
489 (Extra libraries) 726 ? 375-711 1005BOINC Integer
MIPS (Dhrystone)
per core 926 (700 MHz) -
1355 (1000 MHz) 2047 (Debian)
1607 (Android) 2489 1911 1161 (Stock)
1944 (Extra libraries) 1518 ? 1240-2469 2623swp Yes Yes Yes Yes No Yes Yes No Nohalf Yes Yes Yes Yes Yes Yes Yes Yes Nofastmult Yes Yes Yes Yes Yes Yes Yes Yes Noedsp Yes Yes Yes Yes Yes Yes Yes Yes Notls Yes Yes Yes Yes Yes Yes Yes Yes NoJazelle Yes No No No No No No No Nothumb Yes Yes Yes Yes Yes Yes Yes Yes NoThumbEE No Yes No No No Yes Yes No NoVFP Yes Yes Yes Yes Yes Yes Yes Yes NoVFPv3 No Yes Yes Yes Yes Yes Yes Yes NoVFPd32 No No No No Yes No No Yes NoVFPv4 No No Yes Yes Yes Yes Yes Yes NoNEON No Yes Yes Yes Yes Yes Yes Yes Noidiva
(SDIV and UDIV
hardware division
in ARM mode) No No No Yes Yes Yes No Yes Noidivt
(SDIV and UDIV
hardware division
in Thumb mode) No No No Yes Yes Yes No Yes Nolpae No No No No Yes No No Yes Noevtstrm No No No No Yes No No Yes Nocrc32 No No No No No No No Yes Yesfp No No No No No No No No Yesasimd No No No No No No No No Yes
Some things that stand out:
- The strange influence of the OS on Floating Point and Integer MIPS with the Beaglebone (and perhaps with the Banana Pi M2 as well).
- The low reported Integer MIPS of the Banana Pi M2, compared to its Floating Point performance. These are real-life (Android) figures as measured by our team member Chris Skull, who also supplied the Odroid C1 figures.
- The double Raspberry Pi 3 MIPS figures. They are for a power supply that does not give enough Amps (2A) vs one that does (3A).
- The difference in CPU features between the two ARMv8 ARM Cortex-A53 CPUs, Broadcom having decided to also support the almost full ARMv7-A instruction set and Hardkernel betting on the instruction set features for the ARMv8-A -and then only a few of them. The ARMv8-A 48-core (!) Cavium ThunderX e.g. features fp, asimd, evtstrm, aes, pmull, sha1, sha2 and crc32.