Skip to content
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

Merged
merged 1 commit into from
Jun 17, 2024
Merged

Update ODROID-XU4 target #970

merged 1 commit into from
Jun 17, 2024

Conversation

MichaIng
Copy link
Contributor

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

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>
@ptitSeb ptitSeb merged commit 223fa8e into ptitSeb:master Jun 17, 2024
36 checks passed
@MichaIng MichaIng deleted the odroidxu4 branch June 17, 2024 21:13
@MichaIng
Copy link
Contributor Author

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?

@ptitSeb
Copy link
Owner

ptitSeb commented Jun 18, 2024

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 (./7z b)
Also, you can have a look at https://box86.org/2023/05/performances2022/ for benchmarks...

@MichaIng
Copy link
Contributor Author

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 userspace governor and applied some fixed below-max frequencies. Tested 7zip: https://7-zip.org/a/7z2406-linux-x86.tar.xz

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.

@portejjj
Copy link

portejjj commented Jul 8, 2024

M

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants