* What riscv tracing tools do you recommend and how are they accurate for measurements?
@ 2024-02-29 4:27 Nazerke Turtayeva
2024-03-06 4:44 ` Alistair Francis
0 siblings, 1 reply; 2+ messages in thread
From: Nazerke Turtayeva @ 2024-02-29 4:27 UTC (permalink / raw)
To: qemu-riscv, qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1010 bytes --]
Hi everyone,
Recently, I was planning to measure the performance of my application of
interest for potential RISC-V hardware. Hence, I started my simulations
from Spike to analyze dynamic instruction traces and instruction count,
nevertheless given it does not support multithreading, I started using Qemu
to test my app too. However, it seems like I cannot rely on timing results
of Qemu for comparing different implementations. Accordingly, given I am
brand new to the Qemu ecosystem, I was wondering whether I am missing some
important mainstream instrumentation and tracing tools that I can use for
performance evaluation of my target app in other ways. Particularly, I want
to understand implications of adding custom ISA instructions to the
performance of my application.
In this regard, do you have any recommendations on where I can look?
Thanks,
Best wishes
--
Nazerke Turtayeva
Graduate Student
Electrical and Computer Engineering, Computer Science
Email: nturtayeva@ucsb.edu
*UC Santa Barbara*
[-- Attachment #2: Type: text/html, Size: 2523 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: What riscv tracing tools do you recommend and how are they accurate for measurements?
2024-02-29 4:27 What riscv tracing tools do you recommend and how are they accurate for measurements? Nazerke Turtayeva
@ 2024-03-06 4:44 ` Alistair Francis
0 siblings, 0 replies; 2+ messages in thread
From: Alistair Francis @ 2024-03-06 4:44 UTC (permalink / raw)
To: Nazerke Turtayeva; +Cc: qemu-riscv, qemu-devel
On Thu, Feb 29, 2024 at 11:21 PM Nazerke Turtayeva <nturtayeva@ucsb.edu> wrote:
>
> Hi everyone,
>
> Recently, I was planning to measure the performance of my application of interest for potential RISC-V hardware. Hence, I started my simulations from Spike to analyze dynamic instruction traces and instruction count, nevertheless given it does not support multithreading, I started using Qemu to test my app too. However, it seems like I cannot rely on timing results of Qemu for comparing different implementations. Accordingly, given I am brand new to the Qemu ecosystem, I was wondering whether I am missing some important mainstream instrumentation and tracing tools that I can use for performance evaluation of my target app in other ways. Particularly, I want to understand implications of adding custom ISA instructions to the performance of my application.
Hello,
QEMU is an emulator so it isn't great at timing analysis.
QEMU is useful for instruction traces though. If you use icount [1]
you can get a deterministic-ish setup which is very useful for
instruction counting during execution. I'm not sure what custom
instructions you are adding, but you can test if they reduce the
number of instructions executed. Note that QEMU doesn't model timing
though, so it might not be an accurate representation of real life
performance.
You can use a plugin (see [2] for some examples) to generate
instruction, memory or other more specific traces.
1: https://www.qemu.org/docs/master/devel/tcg-icount.html
2: https://www.qemu.org/docs/master/devel/tcg-plugins.html#example-plugins
Alistair
>
> In this regard, do you have any recommendations on where I can look?
>
> Thanks,
> Best wishes
>
> --
> Nazerke Turtayeva
> Graduate Student
> Electrical and Computer Engineering, Computer Science
> Email: nturtayeva@ucsb.edu
> UC Santa Barbara
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-03-06 4:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-29 4:27 What riscv tracing tools do you recommend and how are they accurate for measurements? Nazerke Turtayeva
2024-03-06 4:44 ` Alistair Francis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).