Hi Malek,

I did just that and it works. Here is my output;

Cache Stats: system.ruby.l2_cntrl0.L2cacheMemory
  system.ruby.l2_cntrl0.L2cacheMemory_total_accesses: 189860
  system.ruby.l2_cntrl0.L2cacheMemory_total_demand_accesses: 189860
  system.ruby.l2_cntrl0.L2cacheMemory_total_hits: 0
  system.ruby.l2_cntrl0.L2cacheMemory_total_demand_hits: 0
  system.ruby.l2_cntrl0.L2cacheMemory_total_misses: 189860
  system.ruby.l2_cntrl0.L2cacheMemory_total_demand_misses: 189860
  system.ruby.l2_cntrl0.L2cacheMemory_total_prefetches: 0
  system.ruby.l2_cntrl0.L2cacheMemory_total_sw_prefetches: 0
  system.ruby.l2_cntrl0.L2cacheMemory_total_hw_prefetches: 0
  system.ruby.l2_cntrl0.L2cacheMemory_miss_rate: 100%
  system.ruby.l2_cntrl0.L2cacheMemory_demand_miss_rate: 100%

  system.ruby.l2_cntrl0.L2cacheMemory_request_type_GETS:   24.4054%
  system.ruby.l2_cntrl0.L2cacheMemory_request_type_GET_INSTR:   8.69535%
  system.ruby.l2_cntrl0.L2cacheMemory_request_type_GETX:   66.8993%

  system.ruby.l2_cntrl0.L2cacheMemory_access_mode_type_Supervisor:
189860    100%


Thanks a lot.
Mehmet

2013/2/27 mehmet basaran <[email protected]>

> Hi Malek,
>
> Thanks for the lightning fast response. So using my command line as it is,
> I cannot test with ruby.
>
> First way (Incorrect - Not working)
> --------------------------------------------------------------------
>
> I tried to change protocol from build/variables/X86 file
>
> from => PROTOCOL = 'MI_example'
> to => PROTOCOL = 'MESI_CMP_directory'
>
> and it didn't work out
>
>
> Second way (correct ... I suppose)
> --------------------------------------------------------------------
> and I checked out the command you specified in the review-board
>
> ./util/regress --builds=ALPHA_MESI_CMP_directory,ALPHA_MOESI_CMP_directory 
> --modes=se,fs --compile-variants=opt
>
>
> this basically does the same thing right? Instead of tweaking with one
> build, you create 2 seperate builds and each have its own variable file
> configured accordingly. And these configurations are also predefined under
> build_opts. I think I can specify add extra files under built_opts and
> create different builds.
>
> *build_opts/X86_MESI_CMP_directory*
>
> TARGET_ISA = 'x86'
> CPU_MODELS = 'TimingSimpleCPU,O3CPU'
> PROTOCOL = 'MESI_CMP_directory'
>
> *build_opts/X86_MOESI_CMP_directory*
>
> TARGET_ISA = 'x86'
> CPU_MODELS = 'TimingSimpleCPU,O3CPU'
> PROTOCOL = 'MOESI_CMP_directory'
>
> Then use your command;
>
> ./util/regress --builds=X86_MESI_CMP_directory,X86_MOESI_CMP_directory 
> --modes=se,fs --compile-variants=opt
>
>
> and finally;
>
> build/X86_MESI_CMP_directory/gem5.opt configs/example/ruby_fs.py 
> --kernel="x86_64-vmlinux-2.6.22.9" --script="boot/queens.rcS" --caches 
> --l2cache
>
> ---------------------------------------------------------------------------
>
> In conclusion, gem5 needs to build from scratch to enable these cache
> coherence protocols. Simply changing build/variables/X86 like the first
> method will not do any difference, since this file is just a mere copy
> after first compilation. And if I compile second time using the same
> command, gem5 will check this folder and use build/variables/X86 (not sure
> about it tough).
>
> I think this is it, right? I will also come back to confirm if it works.
>
> Sources;
> http://www.mail-archive.com/[email protected]/msg02950.html
> http://www.mail-archive.com/[email protected]/msg00352.html
>
>
> 2013/2/27 Malek Musleh <[email protected]>
>
>> Hi mehmet,
>>
>> You shouldn't need to do anything to do anything additional from the
>> command line, although looking at your command line, there is a
>> mistake:
>>
>> You are running the classic memory model (the patch is for the ruby
>> memory model). You need to run ./builld/X86_MOESI_CMP_directory, or
>> ./build/X86_MESI_CMP_directory. If you look at the telnet output
>> (m5term 3456) I'm betting that the simulation did not actually run
>> (since your mixing ruby_fs.py with classic memory model).
>>
>> Look at the timestamp of the stats file also.
>>
>> Malek
>>
>> On Tue, Feb 26, 2013 at 5:25 PM, mehmet basaran
>> <[email protected]> wrote:
>> > Hi Malek
>> >
>> > It does apply cleanly on dev repo. However, I don't know how to get it
>> work.
>> > Can you write an example command for MESI protocol? And how do we
>> decide on
>> > using particular protocol in the first place? Do I have to state it
>> > explicitly in command, or it is decided in some code file? The command
>> line
>> > I used is;
>> >
>> > build/X86/gem5.opt configs/example/ruby_fs.py
>> > --kernel="x86_64-vmlinux-2.6.22.9" --script="boot/queens.rcS" --caches
>> > --l2cache
>> >
>> > this gives the same output in ruby.stats when I hadn't applied your
>> patch.
>> > How should I change it?
>> >
>> > By the way, I checked out the changes you made in the code and it really
>> > helped me get more into it. So thanks a lot.
>> >
>> > Mehmet
>> >
>> >
>> > 2013/2/15 Malek Musleh <[email protected]>
>> >>
>> >> Hi mehmet,
>> >>
>> >> I have posted a patch on the review board that does this:
>> >>
>> >> http://reviews.gem5.org/r/1467/diff/
>> >>
>> >> If I recall, I only apply it to the MOESI_CMP, MESI protocols. You can
>> >> take a look, or apply the diff (not sure if it will apply cleanly on
>> >> the dev repo).
>> >>
>> >> Malek
>> >>
>> >> On Fri, Feb 15, 2013 at 9:26 AM, mehmet basaran
>> >> <[email protected]> wrote:
>> >> > Hi all,
>> >> >
>> >> > I am trying to get the cache miss & hit ratio counts. I started in se
>> >> > mode,
>> >> > and observed that by using normal caches in config files, I always
>> get
>> >> > miss_rate="1"
>> >> >
>> >> > So I decided to use ruby_fs mode instead. But ruby.stats file doesn't
>> >> > give
>> >> > me a miss ratio or hit count.  It seems to me that I cannot get miss
>> &
>> >> > hit
>> >> > counts correct whether I use ruby or not. Is this the case? Does gem5
>> >> > has
>> >> > built in mechanism for getting cache miss&hit rates? (without
>> modifying
>> >> > the
>> >> > code)
>> >> >
>> >> > In addition I have couple of concepts I need to know in ruby.stats
>> file;
>> >> > 1. All Non-Zero Cycle Demand Cache Accesses
>> >> > 2. ruby_cycles_executed: [ 10904501813 ]
>> >> > 3. "miss_latency_Locked_RMW_Write_L1Cache: [binsize: 1 max: 3 count:
>> >> > 1374
>> >> > average:     3 | standard deviation: 0 | 0 0 0 1374 ]"
>> >> > what is binsize here ?
>> >> >
>> >> > Do we have any documentation about the content of ruby.stats file?
>> >> >
>> >> > My commands;
>> >> >
>> >> > For se:
>> >> > ./build/X86/gem5.opt --debug-flags=Cache --trace-file=my_trace.out
>> >> > configs/example/se.py --caches --l2cache --cpu-type=timing -c
>> >> > tests/test-progs/queens/bin/x86/linux/queens --options="-c 8"
>> >> >
>> >> > For fs:
>> >> > ./build/X86/gem5.fast configs/example/ruby_fs.py --num-cpus="8"
>> >> > --kernel="x86_64-vmlinux-2.6.22.9" --l1i_size="32kB"
>> --l1d_size="32kB"
>> >> > --l2_size="8MB" --num-l2caches="8" --topology="Crossbar"
>> >> > --cpu-type="timing"
>> >> > --script="boot/my_script.rcS"
>> >> >
>> >> > Thanks in advance.
>> >> >
>> >> > _______________________________________________
>> >> > 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
>> >
>> >
>> >
>> > _______________________________________________
>> > 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
>>
>
>
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to