Hello,

On the other hand, if a system has two cores, and only one thread is
executing, should the IPC of a core represent the busy portion of the app
or the overall IPC including the idle cycles?

Im my opinion, the current definition may be linked to what hardware perf
counters do. Any expert among us to explain that?

Thanks in advance,

--
Fernando A. Endo, PhD student and researcher

Université de Grenoble, UJF
France



2014-03-26 23:15 GMT+01:00 Tiago Mück <[email protected]>:

> Hi,
>
> At /src/cpu/o3/cpu.cc we can see that the IPC is defined like this:
>
> totalIpc
>
>       .name(name() + ".ipc_total")
>
>       .desc("IPC: Total IPC of All Threads")
>
>       .precision(6);
>
>  totalIpc =  totalCommittedInsts / numCycles;
>
>
> But, according to a previous post on the list (
> http://comments.gmane.org/gmane.comp.emulators.m5.users/11513), "
> *numCycles*" accounts for only busy CPU cycles, so shouldn't IPC be
> either "*totalCommittedInsts / (numCycles+idleCycles)*" or 
> "*totalCommittedInsts
> / (numCycles+idleCycles+quiescCycles)*" ?
>
> If my understanding is correct, using the current formula may lead to
> similar IPCs for tasks with very different cache miss rates for instance.
>
> Thanks.
>
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to