What was the gprof output?

On Wed, Nov 3, 2010 at 4:45 PM, Nilay Vaish <[email protected]> wrote:

> I profiled M5 but surprisingly I did not find any mention of the function
> findTagInSet() in the output obtained from gprof. Does it matter what
> coherence protocol is in use? I carried out the following step -
>
> 1. Compiled m5.prof using
> scons -j 6 USE_MYSQL=False RUBY=True build/ALPHA_FS/m5.prof
>
> 2. Ran blackscholes benchmark using the instructions specified in the
> technical report 'Running PARSEC v2.1 in the M5 Simulator' by Gebhart et al.
> Specifically I ran the following command --
>
> ./build/ALPHA_FS/m5.prof ./configs/example/fs.py -n 1
> --script=/scratch/nilay/GEM5/system/scripts/blackscholes.rcS --detailed
> --caches --l2cache -F 5000000000
>
> These are the contents of blackscholes.rcS
>
> #!/bin/sh
> # File to run the blackscholes benchmark
> cd /parsec/install/bin /sbin/m5 switchcpu
> /sbin/m5 dumpstats
> /sbin/m5 resetstats
> ./blackscholes 64 /parsec/install/inputs/blackscholes/in_64K.txt
> /parsec/install/inputs/blackscholes/prices.txt
> echo "Done :D"
> /sbin/m5 exit
> /sbin/m5 exit
>
> Thanks
> Nilay
>
>
>
> On Tue, 2 Nov 2010, Steve Reinhardt wrote:
>
>  I just compiled m5.prof and ran it (forgot what workload I ran on it,
>> probably one of the parsec benchmarks; it probably doesn't matter a lot).
>> If you've never used gprof before, this is a great time to learn!
>>
>> Steve
>>
>> On Tue, Nov 2, 2010 at 10:40 AM, Nilay Vaish <[email protected]> wrote:
>>
>>  I am looking at possible performance optimizations in Ruby. As you can
>>> see
>>> grasp from the mail excerpt below, the function findTagInSet() consumes
>>> lots
>>> of time. I am thinking of making the changes as suggested by Brad. I have
>>> questions for m5-dev members, in particular for Derek and Steve. How did
>>> you
>>> arrive at the conclusion that findTagInSet() is a problem? What
>>> benchmarks,
>>> profiling tools to use?
>>>
>>> Thanks
>>> Nilay
>>>
>>> ---------- Forwarded message ----------
>>> Date: Mon, 20 Sep 2010 22:57:39 -0500
>>> From: "Beckmann, Brad" <[email protected]>
>>> To: 'Nilay Vaish' <[email protected]>
>>> Cc: Daniel Gibson <[email protected]>
>>> Subject: RE: Performane Optimizations in Ruby
>>>
>>> == CacheMemory findTagInSet == Recently Steve mentioned to me that a huge
>>> percentage of time was being spent in CacheMemory's findTagInSet
>>> function.
>>> Right now that function uses a hashmap across the entire cache to map
>>> tags
>>> to way ids.  I think Derek recently implemented this change in hopes to
>>> improve performance, and it might have for small caches, but I don't
>>> think
>>> it helps for larger caches.  There a couple of possible solutions: per
>>> set
>>> hashmaps, or reordering the ways so that the MRU blocks are at the lower
>>> ids
>>> and use a loop.  I think we should investigate both solutions and see
>>> which
>>> is better.
>>> _______________________________________________
>>> m5-dev mailing list
>>> [email protected]
>>> http://m5sim.org/mailman/listinfo/m5-dev
>>>
>>>
>>  _______________________________________________
> m5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/listinfo/m5-dev
>
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to