@Rodrigo - You could try something like this in your Simulation.py def benchCheckpoints(options, maxtick, cptdir): # exit_event = m5.simulate(maxtick - m5.curTick()) # exit_cause = exit_event.getCause() if options.maxinsts: count = 0 while count < options.num_cpus: # loop to ensure the all thread reaches max inst count exit_event = m5.simulate() exit_cause = exit_event.getCause()
print 'Exiting core %d @ tick %i because %s' % (count, m5.curTick(), exit_cause) # if exit_cause != "a thread reached the max instruction count": # break count += 1 m5.stats.dump() #dump stat when core completes max insts count simulation. On Mon, Oct 21, 2013 at 12:24 PM, Yuan Yao <yaoyuan...@gmail.com> wrote: > Thank you Zhiguo! It works for me. > > On 21 Oct, 2013, at 2:36 PM, GE ZHIGUO <ge.zhi...@huawei.com> wrote: > > You need to modify exitGroupFunc() in sim/syscall_emul.cc NOT to exit > simloop before all running contexts finish.**** > Good luck!**** > > Zhiguo**** > > > > *From:* gem5-users-boun...@gem5.org [mailto:gem5-users-boun...@gem5.org] *On > Behalf Of *Yuan Yao > *Sent:* Monday, October 21, 2013 2:00 PM > *To:* gem5 users mailing list > *Subject:* Re: [gem5-users] About executing multi loads**** > ** ** > I am experiencing the same issue. Wherever one CPU executes exit(), the > muti-programmed simulation terminates. Anybody can help?**** > **** > On 11 Oct, 2013, at 1:14 AM, Rodrigo Reynolds Ramírez < > rodrigo.r...@hotmail.com> wrote:**** > > > **** > Hello everyone;**** > > I am using gem5 for multi loads, I am using the below line for executing > the simulator:**** > > /scratch/gem5/gem5-stable/build/X86/gem5.opt > /scratch/gem5/gem5-stable/configs/example/se.py --caches --l1d_size=32kB > --l1d_assoc=8 --l1i_size=32kB --l1i_assoc=8 --l2_size=256kB --l2_assoc=8 > --l2cache --fast-forward=2000000000 --maxinsts=1000000000 > --cpu-type=detailed -n 4 --cmd="prog1;prog2;prog3;prog4" > --options="param1;param2;param3;param4" > --input="in1.txt;in2.txt;in3.txt;in4.txt" --output="out1;out2;out3;out4" > --errout="CLP1.err;CLP2.err;CLP3.err;CLP4.err"**** > > But I want that each program executes 1 billion instructions in detailed > mode, but it seems that the simulators ends when any program reaches 1 > billion instructions, for different IPC between programs some programs only > executes 1 million instructions or less. **** > > In summary I need each program executes 1 billion instructions and when > one reaches 1 billion instructions it continues executing for stressing the > memory but not affecting the stats. Is it possible?**** > > Thanks in advance**** > Rodrigo **** > _______________________________________________ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users**** > ** ** > _______________________________________________ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > > > _______________________________________________ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > -- *thanks®ards * *BISWABANDAN* http://www.cse.iitm.ac.in/~biswa/ “We might fall down, but we will never lay down. We might not be the best, but we will beat the best! We might not be at the top, but we will rise.”
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users