Hi,
Looking in to code cpu.cc, I see

    ipc
        .name(name() + ".ipc")
        .desc("IPC: Instructions Per Cycle")
        .precision(6);
    ipc =  committedInsts / numCycles;

    totalIpc
        .name(name() + ".ipc_total")
        .desc("IPC: Total IPC of All Threads")
        .precision(6);
    totalIpc =  totalCommittedInsts / numCycles;

That means, in a multicore simulation the ipc_total is calculated based on
the aggregate number of instructions. For example, assume

core0: inst=500, cycle=500
core1: inst=400, cycle=500
core2: inst=600, cycle=500
core3: inst=600, cycle=500

So gem5 will report ipc_total=2100/500=4.2.Is that right?

However another approach is to take HMEAN since we are averaging of rates.
IPC_of_multicore=HMEAN(IPC_of_each_core)
So the result will be 1.02

Any idea on that?

Regards,
Mahmood
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to