[Gems-users] Different execution instruction numbers between simics and opal


Date: Fri, 28 May 2010 18:24:29 +0800
From: "shanshuchang" <shanshuchang@xxxxxxxxx>
Subject: [Gems-users] Different execution instruction numbers between simics and opal

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

[← Prev in Thread] Current Thread [Next in Thread→]