Re: [Gems-users] About data prefetch


Date: Thu, 28 Jul 2011 21:11:48 -0400
From: Carole-Jean Wu <carolewu@xxxxxxxxxxxxx>
Subject: Re: [Gems-users] About data prefetch
I am looking into injecting prefetch requests in Sequencer.C under ruby/system. However, adding requests there seems to cause many problems. 

Can someone recommend a better place in the source code where prefetch requests should be inserted?

thanks very much in advance, 
Carole

On Mon, May 24, 2010 at 10:03 AM, Polina Dudnik <pdudnik@xxxxxxxxx> wrote:
Dear Lori,

Like Dan said, there are some remains of what used to be prefetch code. I recommend you grep for prefetch and try to trace where it occurs and why.

Besides that, you know as much as we do and you have all the necessary tools. Please come back with more specific questions.

Thank you.

Polina


On Sun, May 23, 2010 at 10:58 PM, lori zhuang <lorizhuang@xxxxxxxxx> wrote:
Dan, how can I add prefetching function in Ruby? I mean simulating the behavior of the prefetch instrutions. What should I refer to do this? Please give me a clue.

Thanks,
lorizhuang

On Fri, May 21, 2010 at 11:46 AM, lori zhuang <lorizhuang@xxxxxxxxx> wrote:
Thanks a lot, Dan!

Regards,
lorizhuang
 
Date: Thu, 20 May 2010 06:42:30 -0600
From: Dan Gibson <degibson@xxxxxxxx>
To: Gems Users <gems-users@xxxxxxxxxxx>
Subject: Re: [Gems-users] About data prefetch
Message-ID:
       <AANLkTilj__QDb7K4ooknV7X47bNYLbfYUlj3r_Mkkrcu@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="iso-8859-1"


Ruby currently ignores software prefetches, as you point out. At one time,
there was some internal code that did hardware prefetching, but I don't
think that was ever released (however, its remnants remain scattered here
and there, e.g., the prefetch bit).

Regards,
Dan

On Thu, May 20, 2010 at 12:30 AM, lori zhuang <lorizhuang@xxxxxxxxx> wrote:

> List,
>      I wonder if Ruby simulates the behavior of data prefetch. It seems
> like it does according to this link
> https://lists.cs.wisc.edu/archive/gems-users/2007-November/msg00102.shtml.
> But it seems like it doesn't according to the code in SimicsDriver.C:
>
> int SimicsDriver::makeRequest(memory_transaction_t *mem_trans) {
>     ...
>     ...
>     //* skip unsupported types*
>     if (*isUnhandledTransaction*(mem_trans)) {
>     ret = Unhandled;
>     } else {
>      // perform makeRequest()
>       int proc = SIMICS_get_proc_no(mem_trans->s.ini_ptr);
>      ret = m_processors[proc]->makeRequest(mem_trans);
>    }
>    ...
>   ...
> }
>
> bool SimicsDriver::*isUnhandledTransaction*(memory_transaction_t*
> mem_trans) {
>   // only handle user data?
>   if (USER_MODE_DATA_ONLY) {
>     if(PRIV_MODE) {
>       return true;
>     }
>     if(mem_trans->s.type == Sim_Trans_Instr_Fetch) {
>       return true;
>     }
>   }
>
>   // no prefetches
>   if (mem_trans->s.type == Sim_Trans_Prefetch) {
>     return true;
>   }
>
>   // no cache flush
>   if (mem_trans->s.type == Sim_Trans_Cache) {
>     return true;
>   }
>
>   // no DMA & IO
>   if (IS_DEV_MEM_OP(mem_trans->s.ini_type) ||
>       IS_OTH_MEM_OP(mem_trans->s.ini_type) ||
>       mem_trans->s.physical_address >
> uinteger_t(RubyConfig::memorySizeBytes())
>      ) {
>     return true;
>   }
>
>   return false;
> }
>
> Ruby skips supported types memory request and it threats Sim_Trans_Prefetch
> as unsupported types. Hence I think Ruby doesn't simulates data prefetching.
> Am I right?
> Since I'm going to add a prefetch instruction of the SPARC v9 instruction
> set to a benchmark and see if any speedups. That's why I care so much about
> prefetching. Any suggestion is highly appreciated.
>
>
> Thanks,
> lorizhuang
>
>
>
>
> _______________________________________________
> 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.
>
>
>


--
http://www.cs.wisc.edu/~gibson [esc]:wq!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.wisc.edu/archive/gems-users/attachments/20100520/cea220e7/attachment.html>

------------------------------


_______________________________________________
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.

End of Gems-users Digest, Vol 237, Issue 2
******************************************



_______________________________________________
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→]
  • Re: [Gems-users] About data prefetch, Carole-Jean Wu <=