Hi all,
I want to execute splash2/fft benchmark
with part of the cores I have configured.
So I just bind the two fft thread onto the
first two cores of the 4-core CMP system like this:
./FFT –p 2 –a 0 –x 1
It would initialize two threads and the threads
are bound onto core0 and core1.
In simics command, I disabled the other two
cores using :
cpu2.disable and cpu3.disable.
I use magic instructions to guarantee that
the execution of simics is limited to the parallel scale.
By using simics + ruby, the execution is
quickly finished and the ruby statistics is like this:
instruction_executed: 5073779 [ 4616570
457207 1 1 ]
I also use opal + ruby to simulate the
similar execution. The opal code was modified like this: (in opal/system/system.C)
for (int j = 0; j < m_numSMTProcs/2; j++
) {
……
m_seq[j]->advanceCycle();
……
}
Therefore, the cpu2 and cpu3 would never be
advanced.
However, when I read the same checkpoint
file and executed for 10000000 cycles, the executed didn’t finished.
So according to the same benchmark, does
OPAL+RUBY run different number of instructions as SIMICS + RUBY did?
Thanks in advance!
shuchang