Hi John -

Compiling with --cache-remote will cause the runtime to not only
cache remote data that is reused, but to:
 - prefetch sequential GETs
 - always GET 64b cache lines at a time
 - perform write-behind for PUTs

While I haven't looked closely at your case, if each locale
is requesting 8000 values from the other and those values
are stored next to each other in memory, the cache will
fetch more than one in each get_nb reported. In this case
the numbers you describe (cache does 2000 GETs for 8000 reads),
I would imagine that your elements are 16 bytes... and the
cache fetches 4 of them at a time (to get up to 64 bytes).

Cheers,

-michael

On 3/6/15, 4:54 AM, "John MacFrenz" <[email protected]> wrote:

>
>I also noticed that with --cache-remote number of gets drops to about
>2000. I'd be interested to hear how this is done, since in that specific
>example, each locale needs 8000 values from the other (when using two
>locales). However the results of the calculation were still correct.
>


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users

Reply via email to