Re: [Gems-users] prefetch in opal


Date: Wed, 30 Jun 2010 11:03:32 -0500
From: Philip Garcia <pcgarcia@xxxxxxxx>
Subject: Re: [Gems-users] prefetch in opal
It might be, but other code besides the application you execute are also running.  The OS, could issue prefetches, as could background processes, or any libraries your code may link against.

Phil

On Jun 30, 2010, at 3:12 AM, Muhammad abid Mughal wrote:

should be 0 if opal does not initiate Hardware prefetches


From: Jerry Lin <cosjerry@xxxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Wednesday, June 30, 2010 15:02:56
Subject: Re: [Gems-users] prefetch in opal

Hi,
So the software prefetch implemented in opal means opal supports the prefetch instruction, like PREFETCH, PREFETCHA.
The prefetch instructions are inserted totally depends on the compiler, like gcc.
If I set the flag to disable the software prefetch in gcc when compiling an application, and running with simics+Ruby+Opal.
Will the software prefetch count in ruby dump stats be zero?
Regards.
2010/6/30 Muhammad abid Mughal <mabidm_pieas@xxxxxxxxx>
hi,
   Software prefetches implemented via instructions ,which depend on microprocessor.For example in Sparc processor(Opal based on sparc)
these are PREFETCH  & PREFETCHA
  Software prefetches inserted by compiler when it detects some patterns and software prefetch policy depends on prefetch instructions[see docs of above prefetch insts]

When I using MOSI_SMP_bcast protocol to run simulation, there are both non-zero prefetch count in L1D_cache and L2_cache.?

Running with simics+Ruby? if yes then Ruby filters out software prefetches (see SimicsDriver)


From: Jerry Lin <cosjerry@xxxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Wednesday, June 30, 2010 12:56:20
Subject: Re: [Gems-users] prefetch in opal

Hi,
I have some more questions.
How does the software prefetch implemented in opal?
It seems that it didn't modify the compiler, then how to insert software prefetch instructions into an application?
And what's the software prefetch policy? How to decide what line to prefetch into cache?
When I using MOSI_SMP_bcast protocol to run simulation, there are both non-zero prefetch count in L1D_cache and L2_cache.
Is there any difference in prefetching policy? 

Thanks for your reply.
Regards.
 
2010/6/29 Muhammad abid Mughal <mabidm_pieas@xxxxxxxxx>
hi,
    Opal implements both hardware(ie next line prefetcher for instruction cache) and software prefetch(prefetch_inst_t).But in ruby you can not differentiate b/w theses two because both prefetches use "PrefetchBit_Yes" when issued to ruby [ see OpalInterface::makePrefetch(....).]

But its easy to differentiate b/w these two.

Regards,
Muhammad abid


From: Jerry Lin <cosjerry@xxxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Sent: Tuesday, June 29, 2010 19:31:40
Subject: [Gems-users] prefetch in opal

Hello all,
I'm wondering about what kind of prefetching that opal implemented.
I saw Next Line prefetch in opal/system/rubycache.C.
But in ruby's dump file, the prefetch count seems to be the software prefetch.
Is the prefetching policy implemented in opal a HW prefetch or SW prefetch?
Any advice would be appreciated. 
 
Thanks for helping.


_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.





_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.




_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.


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