-
-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update ODROID-XU4 target #970
Conversation
The ODROID target was meant for the ODROID-XU4, hence it is renamed accordingly, to better indicate that. Furthermore, gcc 4.9 added support for `-mcpu=cortex-a15.cortex-a7` to optimise support for this ARM big.LITTLE chip: https://www.gnu.org/software/gcc/gcc-4.9/changes.html#arm `-mcpu=cortex-a9` was used as compatible option, while the Samsung Exynos 5422 SoC of the ODROID-XU4 actually has 4x Cortex-A15 and 4x Cortex-A7 CPUs: https://wiki.odroid.com/odroid-xu4/odroid-xu4 Signed-off-by: MichaIng <micha@dietpi.com>
I tested the asset from the release workflow, and it works well. Would be actually interesting to run a benchmark, and compare that with the previous ODROID target. I just have no quick idea where to get a standalone/statically linked x86 binary which suites well for a quick benchmark 🤔. Any ideas? |
7zip has an integrated benchmark, you can use that ( |
Okay, hard for me to get significant results. My XU4 has a passive heatsink only, and gets pretty hot, which seems to lead to thermal throttling at some point. Because of this, and to eliminate CPU scheduling effects, I used the However, results are contradicting, or the variance is too high. Speed and score differences seem to just scale with CPU usage, which differs for each test and run. One example: root@DietPi:~# ./box86_ODROIDXU4 7zz b
Box86 with Dynarec v0.3.7 3f9c50b built on Jun 17 2024 20:33:35
7-Zip (z) 24.06 (x86) : Copyright (c) 1999-2024 Igor Pavlov : 2024-05-26
32-bit ILP32 locale=C.UTF-8 Threads:8 OPEN_MAX:1024, ASM
Compiler: ver:9.4.0 GCC 9.4.0 : i686
Linux : 6.6.31-current-odroidxu4 : #1 SMP PREEMPT Mon May 6 15:18:52 UTC 2024 : i686
PageSize:4KB hwcap:681811F
Box86 on Cortex-A7 Cortex-A15 @1400 MHz (601)
1T CPU Freq (MHz): 1190 1192 1194 1194 1191 1192 1193
4T CPU Freq (MHz): 387% 1152 393% 1175
RAM size: 1987 MB, # CPU hardware threads: 8
RAM usage: 1779 MB, # Benchmark threads: 8
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 3485 689 492 3390 | 42056 589 609 3586
23: 3473 720 492 3540 | 45350 650 603 3923
24: 3437 731 506 3696 | 44737 651 603 3925
25: 3406 738 527 3889 | 44105 651 603 3924
---------------------------------- | ------------------------------
Avr: 3450 719 504 3629 | 44062 635 604 3840
Tot: 677 554 3734
root@DietPi:~# ./box86_ODROID 7zz b
Box86 with Dynarec v0.3.6 9f8b96b built on May 22 2024 08:19:14
7-Zip (z) 24.06 (x86) : Copyright (c) 1999-2024 Igor Pavlov : 2024-05-26
32-bit ILP32 locale=C.UTF-8 Threads:8 OPEN_MAX:1024, ASM
Compiler: ver:9.4.0 GCC 9.4.0 : i686
Linux : 6.6.31-current-odroidxu4 : #1 SMP PREEMPT Mon May 6 15:18:52 UTC 2024 : i686
PageSize:4KB hwcap:681811F
Box86 on Cortex-A7 Cortex-A15 @1400 MHz (601)
1T CPU Freq (MHz): 1190 1194 1194 1194 1192 1193 1192
4T CPU Freq (MHz): 389% 1159 393% 1174
RAM size: 1987 MB, # CPU hardware threads: 8
RAM usage: 1779 MB, # Benchmark threads: 8
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 3568 699 496 3471 | 41974 591 606 3579
23: 3546 731 494 3614 | 39005 535 631 3374
24: 3471 730 511 3733 | 40356 575 616 3541
25: 3429 736 532 3916 | 43939 651 601 3910
---------------------------------- | ------------------------------
Avr: 3504 724 508 3683 | 41318 588 613 3601
Tot: 656 561 3642 In this particular case, the new version/target scored better, but mostly due to significantly lower CPU usage/utilisation for some decompression tests with the old version. And this just changes from test to test. So I could not see any significant improvement with this benchmark (but also no regression). Probably efficiency is better, when tasks are somewhat differently distributed between the smaller (more efficient) and the larger cores. |
M |
The ODROID target was meant for the ODROID-XU4, hence it is renamed accordingly, to better indicate that.
Furthermore, gcc 4.9 added support for
-mcpu=cortex-a15.cortex-a7
to optimise support for this ARM big.LITTLE chip: https://www.gnu.org/software/gcc/gcc-4.9/changes.html#arm-mcpu=cortex-a9
was used as compatible option, while the Samsung Exynos 5422 SoC of the ODROID-XU4 actually has 4x Cortex-A15 and 4x Cortex-A7 CPUs: https://wiki.odroid.com/odroid-xu4/odroid-xu4