Benchmarking RISC-V QEMU Emulator with SPEC CPU2017(Single Core/intrate)
By Ali Tariq | May 16, 2024

This page describes the necessary commands to run the SPEC-2017 benchmark on the RISC-V QEMU Emulator for integer benchmarks while utilizing single-core performance and also displays the performance results. 

QEMU is an open-source emulator. QEMU's RISC-V emulator supports two modes, namely, user mode as well as system mode. In user mode, users can run a single binary compiled for RISC-V architecture in a single command. In system mode, users can run a complete Linux operating system on an emulated RISC-V instance and can execute commands inside it.

This benchmark is run on qemu-system-riscv64 version 8.2.2 with ubuntu 22.04.4 pre-installed server image.

The QEMU system is allocated 4 cores (host CPU is AMD EPYC™ 7713) and 8GB of RAM.

Execution of test

All the things are the same as explained in the previous benchmark. The command used for the execution of the test is as follows:

./bin/runcpu --threads=1 --copies=1 --config="$PATH_OF_CONFIG_FILE" spec --reportable

Results

Individual Test Results

The individual test results of qemu-system-riscv64 are as follows:



Final Results (comparison with physical hardware)

Int_base results

The following results of other instances are taken out from the previous SPEC CPU intrate/singlecore blog.


Int_peak results

The following results of other instances are taken out from the previous SPEC CPU intrate/multicore blog.


Conclusion

In the previous benchmark, we saw that the multicore performance of qemu is a little bit faster than visionfive 2. But in single process execution, qemu lacks a little bit as compared to visionfive 2. There can be multiple factors for this behavior depending on how OS is managing the process execution.

Benchmarking RISC-V QEMU Emulator with SPEC CPU2017(Single Core/intrate)
Cloud-V 16 May, 2024
Share this post
Tags
Archive

Benchmarking RISC-V QEMU Emulator with SPEC CPU2017(Multicore/intrate)
By Ali Tariq | May 16, 2024