Fedora build benchmarks on SpacemiT K3 (RVA23 hardware) #17
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I got remote access to SpacemiT K3 for a couple of weeks. Do some benchmarks of classic Fedora build:
We can get the build times for SiFive HiFive Premier P550 and Milk-V Megrez and others from the RISC-V Koji server.
Benchmark procedure
I'm running inside a Fedora 43 RISC-V container on a SpacemiT K3 host running on "Bianbu OS" (Debian-based).
dnf builddep -y ./rpmbuild/SPECS/kernel.spectime rpmbuild -ba ./rpmbuild/SPECS/kernel.spec(NB: These are all 'rough numbers' that are close enough to give a sense of the improvement. Build times are affected by variables not in our control, e.g. NVMe vs SATA, or CPU frequency.)
Glibc
K3 is 1.95x faster than Megrez, while it is 1.71x faster than P550.
(Here "P550" == "SiFive HighFive Premier P550")
[1] https://riscv-koji.fedoraproject.org/koji/taskinfo?taskID=206124
[2] https://riscv-koji.fedoraproject.org/koji/buildinfo?buildID=62799
Kernel — this is the RISC-V omni kernel build:
https://copr.fedorainfracloud.org/coprs/g/forge-riscv-members/riscv64_omni_kernel/builds/
qemu-user-staticon powerful x86): 6hqemu-ser-staticon x86)[2]K3 is 2.65x faster than P550 Premier; while it's 1.7x faster vs Copr (QEMU on x86).
[1] https://riscv-koji.fedoraproject.org/koji/taskinfo?taskID=144698
[2] https://copr.fedorainfracloud.org/coprs/g/forge-riscv-members/riscv64_omni_kernel/build/10438338/
Intervention on K3: disable BTF kernel module
I had to disable BTF because I was hitting a crash with this error:
I got the Fedora omni kernel build from here:
Disabled the BTF module:
Recompile. The build succeeds in ~3h24 minutes:
QEMU
K3 is 6x faster than P550 here.
[1] https://riscv-koji.fedoraproject.org/koji/taskinfo?taskID=144923
Intervention on K3: Disable debuginfo packages
Oddly enough, I was hitting these 'debugedit' errors, which we were resolved in #1)
For now, I reran the build by disabling generation of debug packages, then it succeeded.
xzcompression test on K3:It is based on this previous benchmark I did which has numbers for P550 and DP-1000. The only twist here is for 16 threads, I made the script use the AI cores (based on these notes):
Raw numbers:
Initial observations:
GCC
Classic Fedora build:
rpmbuild -ba ~/rpmbuild/SPECS/gcc.specK3 completed the GCC build 2.9x faster compared to P550 — it completed the build in less than half the time required by the P550.
By comparison, on x86 it takes about 27 hours.
[1] https://koji.fedoraproject.org/koji/buildinfo?buildID=2997047
OpenSSL
K3 here sees a ~ 10.x improvement compared to P550! I learnt that this outsized improvement is due to a lot of hand-written vector and assembly code in OpenSSL.
[1] https://riscv-koji.fedoraproject.org/koji/buildinfo?buildID=61806
Do some Fedora build benchmarks on SpacemiT K3to Fedora build benchmarks on SpacemiT K3 (RVA23 hardware)LLVM
Compiled version on K3:
llvm-21.1.8-5.0; for P550, I picked a current build time from the RISC-V Koji.