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
