Skip to content

Commit

Permalink
SoC guessing: keeping up with Allwinner/RK info
Browse files Browse the repository at this point in the history
  • Loading branch information
ThomasKaiser committed Nov 2, 2023
1 parent 933f3ec commit a07da4b
Show file tree
Hide file tree
Showing 7 changed files with 1,165 additions and 5 deletions.
1 change: 1 addition & 0 deletions Results.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ So do **not** rely on collected numbers unless you carefully read through all th
| [Milk-V Pioneer (SG2042)](http://ix.io/4wYE) | 2000 MHz | 6.1 | Kinetic riscv64 | 59820 | 1622 | 43500 | 3620 | 4760 | - |
| [Milk-V Mars CM (JH7110)](http://ix.io/4K7E) | 1500 MHz | 5.15 | Bookworm riscv64 | 4110 | 1195 | 25070 | 930 | 830 | - |
| [MT6580 K9M1](http://ix.io/466y) | 1300 MHz | 5.19 | Sid armhf | 2930 | 860 | 25300 | 1250 | 3300 | - |
| [MT8395 Genio 1200](http://ix.io/4Kvg) | 2200/2000 MHz | 5.15 | Jammy arm64 | 18130 | 3298 | 1240850 | 14200 | 19000 | 27.60 |
| [NanoPC T3+ (Nexell S5P6818)](http://ix.io/1iyp) | 1400 MHz | 4.4 | **Xenial armhf** | 6400 | 943 | 651000 | 1650 | 3700 | - |
| [NanoPC T3+ (Nexell S5P6818)](http://ix.io/1iRJ) | 1400 MHz | 4.14 | Bionic arm64 | 7480 | 1053 | 652600 | 1440 | 4540 | 10.99 |
| [NanoPC T4 (RK3399)](http://ix.io/1iFz) | 1800/1400 MHz | 4.17 | Stretch arm64 | 6250 | 1809 | 1022500 | 4100 | 9000 | 8.24 |
Expand Down
1,119 changes: 1,119 additions & 0 deletions results/4Kvg.txt

Large diffs are not rendered by default.

8 changes: 5 additions & 3 deletions results/ARMv8-Crypto-Extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

SoC vendors who license ARMv8 cores (usually 64-bit capable) can decide between certain optional features: for example cryptographic acceleration called ['ARMv8 Cryptography Extensions'](https://developer.arm.com/documentation/ddi0500/e/CJHDEBAF).

Usually SoC vendors do, the only known exceptions are early Cortex-A53 SoCs like Qualcomm's Snapdragon 410, Amlogic's very first 64-bit SoC S905 (used only on ODROID-C2 and NanoPi K2), Phytium's FTC662 core and BroadCom's SoCs powering all 64-bit capable Raspberry Pis: all lack any crypto acceleration and perform way lower than all other 64-bit ARM SoCs in this area.
Usually SoC vendors do, the only known exceptions are early Cortex-A53 SoCs like Qualcomm's Snapdragon 410, Amlogic's very first 64-bit SoC S905 (used only on ODROID-C2 and NanoPi K2), Phytium's FTC662 core and BroadCom's SoCs powering all 64-bit capable Raspberry Pis except BCM2712: those lack any crypto acceleration and perform way lower than all other 64-bit ARM SoCs in this area.

If the kernel has been built correctly, availability of accelerated cryptography functions can be checked by querying `/proc/cpuinfo`: The 'Features' entry will additionally show `aes pmull sha1 sha2`.

Expand Down Expand Up @@ -50,7 +50,7 @@ All of this **only** applies to ARM SoCs with _ARMv8 Crypto Extensions_ licensed

### Numbers the aforementioned conclusions are based on

Crawling through [sbc-bench results collection](../Results.md) comparing +70 different SoCs/CPUs from various vendors at various clockspeeds using OpenSSL versions 1.1.0f (25 May 2017) through 3.0.9 (30 May 2023) shows always the same relation between openssl score and clockspeed for those four core families (right column is OpenSSL's aes-256-cbc score divided through clockspeed in MHz):
Crawling through [sbc-bench results collection](../Results.md) comparing +70 different SoCs/CPUs from various vendors at various clockspeeds using OpenSSL versions 1.1.0f (25 May 2017) through 3.0.11 (19 Sep 2023) shows always the same relation between openssl score and clockspeed for those four core families (right column is OpenSSL's aes-256-cbc score divided through clockspeed in MHz):

| ARM core | MHz | aes-256-cbc | score/mhz |
| :----: | ----: | :----: | :----: |
Expand Down Expand Up @@ -112,6 +112,7 @@ Crawling through [sbc-bench results collection](../Results.md) comparing +70 dif
| [S905X3](http://ix.io/3Vdt) | 1908 | 890730 | 466 |
| [RK3568](http://ix.io/3Ug9) | 1930 | 898610 | 465 |
| [RK3568](http://ix.io/3UXa) | 1950 | 911730 | 467 |
| [Genio 1200](http://ix.io/4Kvg) | 2000 | 935000 | 468 |
| [UMS9620](http://ix.io/4yFl) | 2000 | 936310 | 468 |
| [S905X3](http://ix.io/2kaS) | 2010 | 941590 | 468 |
| [S905X3](http://ix.io/3TQ2) | 2100 | 981940 | 467 |
Expand Down Expand Up @@ -140,8 +141,9 @@ Crawling through [sbc-bench results collection](../Results.md) comparing +70 dif
| Cortex-A77 | | | |
| [QRB5165](http://ix.io/49kx) | 2410 | 1348440 | 560 |
| [QRB5165](http://ix.io/49kx) | 2840 | 1598490 | 563 |
| Cortex-A78C/A78AE | | | |
| Cortex-A78/A78C/A78AE | | | |
| [NVIDIA Orin](http://ix.io/4Ebd) | 1500 | 850750 | 567 |
| [Genio 1200](http://ix.io/4Kvg) | 2200 | 1240850 | 564 |
| [NVIDIA Orin](http://ix.io/4ax9) | 2200 | 1242940 | 565 |
| [Snapdragon 8cx Gen 3](http://ix.io/4xwT) | 2420 | 1365680 | 564 |
| Cortex-X1C | | | |
Expand Down
6 changes: 6 additions & 0 deletions results/Sorted-Results.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
| [Jetson Xavier AGX](http://ix.io/4ebH) | 2250 MHz | 4.9 | Bionic arm64 | **21590** | 2742 | 853250 | 10910 | 22520 | 26.57 |
| [Intel i3-N305](http://ix.io/4qpr) | 3800 MHz | 5.19 | Jammy amd64 | **20000** | 4398 | 1377280 | 9950 | 8990 | 41.43 |
| [Qualcomm QRB5165](http://ix.io/49kx) | 2840/2410/1790 MHz | 4.19 | Focal arm64 | **18860** | 3898 | 1598490 | 14470 | 23910 | 25.56 |
| [MT8395 Genio 1200](http://ix.io/4Kvg) | 2200/2000 MHz | 5.15 | Jammy arm64 | **18130** | 3298 | 1240850 | 14200 | 19000 | 27.60 |
| [Orange Pi 5 (RK3588)](http://ix.io/4D0a) | 2400/1800 MHz | 5.10 | Jammy arm64 | **16780** | 2689 | 1366590 | 12800 | 29900 | - |
| [Phytium D2000<br />(2 x SO-DIMM)](http://ix.io/446h) | 2300 MHz | 5.19 | Jammy arm64 | **16670** | 2252 | 828130 | 3480 | 16110 | - |
| [Khadas Edge2 (RK3588s)](http://ix.io/4a5U) | 2260/1800 MHz | 5.10 | Jammy arm64 | **16470** | 3096 | 1287490 | 10860 | 29110 | - |
Expand Down Expand Up @@ -257,6 +258,7 @@
| [Raspberry Pi 5 B (BCM2712)](http://ix.io/4I1w) | 3000 MHz | 6.1 | Bookworm arm64 | 12740 | **3747** | 1710050 | 4940 | 12640 | - |
| [Pentium N6005](http://ix.io/4BtC) | 3300/2000 MHz | 5.15 | Jammy amd64 | 11510 | **3369** | 923550 | 9650 | 10280 | 22.18 |
| [Ryzen R1505G](http://ix.io/4HYd) | 3270 MHz | 6.1 | Bookworm amd64 | 9080 | **3327** | 886980 | 10520 | 8160 | 18.14 |
| [MT8395 Genio 1200](http://ix.io/4Kvg) | 2200/2000 MHz | 5.15 | Jammy arm64 | 18130 | **3298** | 1240850 | 14200 | 19000 | 27.60 |
| [Jetson AGX Orin](http://ix.io/4ax9) | 2200 MHz | 5.10 | Focal arm64 | 39450 | **3187** | 1242940 | 10600 | 30350 | 59.96 |
| [Raspberry Pi 5 B (BCM2712)](http://ix.io/4HDw) | 2400 MHz | 6.1 | Bookworm arm64 | 10950 | **3160** | 1367990 | 5260 | 11520 | 15.42 |
| [Radxa ROCK 5B (RK3588)](http://ix.io/41BH) | 2350/1830 MHz | 5.10 | Focal arm64 | 16450 | **3146** | 1337540 | 10830 | 29220 | 25.31 |
Expand Down Expand Up @@ -498,6 +500,7 @@
| [Khadas VIM4 (A311D2)](http://ix.io/3Wvv) | 2200/1970 MHz | 5.4 | Focal arm64 | 12090 | 2081 | **1253200** | 7810 | 11600 | - |
| [Honeycomb LX2 (NXP LX2160A)](http://ix.io/3Y4f) | 2200 MHz | 5.16 | Fedora 35 aarch64 | 30690 | 2288 | **1251710** | 5050 | 16220 | 46.09 |
| [Jetson AGX Orin](http://ix.io/4ax9) | 2200 MHz | 5.10 | Focal arm64 | 39450 | 3187 | **1242940** | 10600 | 30350 | 59.96 |
| [MT8395 Genio 1200](http://ix.io/4Kvg) | 2200/2000 MHz | 5.15 | Jammy arm64 | 18130 | 3298 | **1240850** | 14200 | 19000 | 27.60 |
| [Intel N95](http://ix.io/4xwq) | 3400 MHz | 5.15 | Jammy amd64 | 13070 | 3993 | **1232880** | 9710 | 8730 | 34.60 |
| [Intel N100](http://ix.io/4vxM) | 3400 MHz | 6.1 | Lunar amd64 | 14150 | 4073 | **1232790** | 11600 | 12270 | 36.24 |
| [Hugsun X99 (RK3399)](http://ix.io/2ICt) | 2088/1800 MHz | 5.9 | Focal arm64 | 7710 | 1927 | **1184306** | 2270 | 5970 | - |
Expand Down Expand Up @@ -707,6 +710,7 @@
| [Qualcomm Snapdragon 8cx Gen 3](http://ix.io/4xwT) | 3000/2440 MHz | 6.3 | Lunar arm64 | 35370 | 4312 | 1686160 | **17500** | 41780 | 42.76 |
| [Pentium G4600](http://ix.io/2jVw) | 3600 MHz | 4.19 | Buster amd64 | 11810 | 4448 | 984820 | **15120** | 33380 | 21.88 |
| [Qualcomm QRB5165](http://ix.io/49kx) | 2840/2410/1790 MHz | 4.19 | Focal arm64 | 18860 | 3898 | 1598490 | **14470** | 23910 | 25.56 |
| [MT8395 Genio 1200](http://ix.io/4Kvg) | 2200/2000 MHz | 5.15 | Jammy arm64 | 18130 | 3298 | 1240850 | **14200** | 19000 | 27.60 |
| [Huaqin P6410<br />(2 x Ampere Altra Max)](http://ix.io/4kiu) | 3000 MHz | 5.4 | Focal arm64 | 430860 | 4211 | 1710010 | **13310** | 47970 | - |
| [Orange Pi 5 (RK3588)](http://ix.io/4D0a) | 2400/1800 MHz | 5.10 | Jammy arm64 | 16780 | 2689 | 1366590 | **12800** | 29900 | - |
| [Ampere Altra Q80-26](http://ix.io/4zkJ) | 2600 MHz | 5.15 | Jammy arm64 | 214390 | 3748 | 1482190 | **11685** | 41560 | 316.50 |
Expand Down Expand Up @@ -947,6 +951,7 @@
| [Jetson Xavier AGX](http://ix.io/4ebH) | 2250 MHz | 4.9 | Bionic arm64 | 21590 | 2742 | 853250 | 10910 | **22520** | 26.57 |
| [Jetson Orin Nano](http://ix.io/4vy7) | 1510 MHz | 5.10 | Focal arm64 | 13650 | 2153 | 854400 | 6730 | **20240** | 20.68 |
| [Loongson-3A5000-HV](http://ix.io/4dzX) | 2500 MHz | 4.19 | Loongnix 20 loongarch64 | 11120 | 2990 | 116900 | 6930 | **19170** | - |
| [MT8395 Genio 1200](http://ix.io/4Kvg) | 2200/2000 MHz | 5.15 | Jammy arm64 | 18130 | 3298 | 1240850 | 14200 | **19000** | 27.60 |
| [Jetson Xavier NX](http://ix.io/3YWp) | 1890 MHz | 4.9 | Bionic arm64 | 13230 | 2201 | 706280 | 9190 | **18480** | - |
| [H270-T70<br />(2 x ThunderX CN8890)](http://ix.io/3N5c) | 2000 Mhz | 5.16 | Sid arm64 | 107180 | 1826 | 340750 | 4180 | **17130** | - |
| [Honeycomb LX2 (NXP LX2160A)](http://ix.io/3Y4f) | 2200 MHz | 5.16 | Fedora 35 aarch64 | 30690 | 2288 | 1251710 | 5050 | **16220** | 46.09 |
Expand Down Expand Up @@ -1209,6 +1214,7 @@
| [Amazon a1.xlarge](http://ix.io/2iFY) | **2300** MHz| 4.15 | Bionic arm64 | 8610 | 2406 | 1297960 | 4280 | 14220 | - |
| [Khadas Edge2 (RK3588s)](http://ix.io/4a5U) | **2260/1800** MHz| 5.10 | Jammy arm64 | 16470 | 3096 | 1287490 | 10860 | 29110 | - |
| [Jetson Xavier AGX](http://ix.io/4ebH) | **2250** MHz| 4.9 | Bionic arm64 | 21590 | 2742 | 853250 | 10910 | 22520 | 26.57 |
| [MT8395 Genio 1200](http://ix.io/4Kvg) | **2200/2000** MHz| 5.15 | Jammy arm64 | 18130 | 3298 | 1240850 | 14200 | 19000 | 27.60 |
| [Khadas VIM4 (A311D2)](http://ix.io/4cHh) | **2200/2010** MHz| 5.4 | Jammy arm64 | 12120 | 2067 | 1254540 | 8180 | 11680 | - |
| [Khadas VIM4 (A311D2)](http://ix.io/3Wvv) | **2200/1970** MHz| 5.4 | Focal arm64 | 12090 | 2081 | 1253200 | 7810 | 11600 | - |
| [Khadas VIM3 (Amlogic A311D)](http://ix.io/1MFD) | **2200/1800** MHz| 4.9 | Bionic arm64 | 8600 | 2026 | 1256910 | 4980 | 9300 | 13.12 |
Expand Down
Binary file modified results/results.tar.xz
Binary file not shown.
1 change: 1 addition & 0 deletions results/validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@
| [4K7E](4K7E.txt) | v0.9.49 Milk-V Mars CM eMMC | 0%/0% | 3.8Gi/3.3Gi | X | X | X | X | 2% | 0% | [check log](4K7E.txt) |
| [4Kau](4Kau.txt) | v0.9.49 OrangePi 4 | 0%/0% | 3.8Gi/3.2Gi | X | X | X | X | 2% | 1% | [check log](4Kau.txt) |
| [4Kqn](4Kqn.txt) | v0.9.49 AMD Seattle | 0%/0% | 31G/30G | X | X | X | X | 1% | 0% | |
| [4Kvg](4Kvg.txt) | v0.9.49 MediaTek Genio-1200 EVK | 0%/0% | 7.6Gi/6.4Gi | X | X | X | X | 1% | 0% | [check log](4Kvg.txt) |
| <del>[4a3s](4a3s.txt)</del> | <del>v0.9.8 StarFive VisionFive V2 </del> | <del>0.4%/0.1%</del> | <del>3.8Gi/3.5Gi</del> | <del>X</del> | <del>X</del> | <del>X</del> | <del>X</del> | <del> 1%</del> | <del> 2%</del> | |
| [4a5U](4a5U.txt) | v0.9.8 Khadas Edge2 | 0%/0% | 15Gi/14Gi | X | X | X | X | 1% | 0% | |
| [4ax9](4ax9.txt) | v0.9.8 NVIDIA Orin Jetson-Small Develop | 0%/0% | 29Gi/29Gi | X | X | X | X | 0% | 0% | |
Expand Down
35 changes: 33 additions & 2 deletions sbc-bench.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6378,11 +6378,11 @@ GuessSoCbySignature() {
;;
*A55r2p0*A55r2p0*A55r2p0*A55r2p0*A55r2p0*A55r2p0*A76r4p0*A76r4p0)
# Allwinner A736/T736, 6 x Cortex-A55 / r2p0 + 2 x Cortex-A76 / r4p0
echo "Allwinner A736/T736"
grep -E -q 'allwinner|sun60i|a736|t736' <<<"${DTCompatible}" && echo "Allwinner A736/T736"
;;
*A55r2p0*A55r2p0*A55r2p0*A55r2p0*A55r2p0*A55r2p0*A78*A78)
# Allwinner A737/T737, 6 x Cortex-A55 / r2p0 + 2 x Cortex-A78
echo "Allwinner A737/T737"
grep -E -q 'allwinner|a737|t737|' <<<"${DTCompatible}" && echo "Allwinner A737/T737"
;;
0A9r4p10A9r4p1|0?A9r4p10?A9r4p1)
# Armada 375/38x, 2 x Cortex-A9 / r4p1 / swp half thumb fastmult vfp edsp neon vfpv3 tls
Expand Down Expand Up @@ -6482,6 +6482,37 @@ GuessSoCbySignature() {
;;
esac
;;
*A35r*A35r*A35r*A35r???)
# RK quad-core A35 with yet unknown details (stepping/flags)
case "${DTCompatible}" in
*rk3308b*)
echo "Rockchip RK3308B"
;;
*rk3308h*)
echo "Rockchip RK3308H"
;;
*rk3358j*)
echo "Rockchip RK3358J"
;;
esac
;;
*A53r0p4*A53r0p4*A53r0p4*A53r0p4*A72r1p0*A72r1p0*A72r1p0*A72r1p0)
# RK3576, 4 x Cortex-A53 / r0p4 + 4 x Cortex-A72 / r1p0 https://archive.ph/7lkym
# (most recent steppings are pure assumption since announced in 2023)
# Though could also be Allwinner R923 based on same assumption
# Why A53/A72 still in 2024? Since last ARM cores able to boot a 32-bit
# ARMv8l kernel (32-bit userlands consume way less memory compared to 64-bit)
grep -E -q 'allwinner|sun60i|r923' <<<"${DTCompatible}" && echo "Allwinner R923" || echo "Rockchip RK3576"
;;
*A7r0p5*A7r0p5*A7r0p5)
# RK3506, 3 x Cortex-A7 / r0p5 (stepping is assumption)
echo "Rockchip RK3506"
;;
0?A55r2p00?A55r2p00?A55r2p00?A55r2p0*A76r4p0??A76r4p0)
# RK3582, assumed to be a stripped down RK3588 variant with two A76 removed (and gpu/rkvdec according to some Github comments)
# https://www.cnx-software.com/2023/10/13/orange-pi-5-5b-and-5-plus-sbc-32gb-ram/#comment-611080
grep -q "rk3582" <<<"${DTCompatible}" && echo "Rockchip RK3582"
;;
00A35r1p000A35r1p0)
# Amlogic C302X or C305X, 2 x Cortex-A35 / r1p0 / fp asimd evtstrm aes pmull sha1 sha2 crc32
# or Nuvoton MA35D1, 2 x Cortex-A35 / r1p0
Expand Down

0 comments on commit a07da4b

Please sign in to comment.