By: anon (anon.delete@this.anon.com), April 12, 2013 7:12 pm
Room: Moderated Discussions
Eric Bron (eric.bron.delete@this.zvisuel.privatefortest.com) on April 12, 2013 9:25 am wrote:
> > If it is stalling on memory for any amount of cycles, that should be pretty
> > much irrelevant. If it is not, it should not need prefetching.
>
> exactly, with proper prefetching you avoid stalls (my "alternative" do that well already, extra
> prefteches don't stall) so you must optimize your loop body, including loop fission to fit
> in the loop buffer, trust me (or test it), adding extra branches is a really bad idea
This is just going around in circles.
The alternative of prefetching past the end of the array might have been a reasonable thing to do one day, but today we have the power wall and dozens of threads per memory controller. It is not a good idea any more.
> > If it is stalling on memory for any amount of cycles, that should be pretty
> > much irrelevant. If it is not, it should not need prefetching.
>
> exactly, with proper prefetching you avoid stalls (my "alternative" do that well already, extra
> prefteches don't stall) so you must optimize your loop body, including loop fission to fit
> in the loop buffer, trust me (or test it), adding extra branches is a really bad idea
This is just going around in circles.
The alternative of prefetching past the end of the array might have been a reasonable thing to do one day, but today we have the power wall and dozens of threads per memory controller. It is not a good idea any more.