Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

Prescient Loads

jseigh
Beginner
137 Views
Are they possible on Intel processors? I'd explain what they were but this is about the 15th time I've typed this.
0 Kudos
3 Replies
ClayB
Black Belt
137 Views
Joe -
I've left my Tarot cards at home, but I'm guessing that this is something different than pre-fetching?
There are methods to begin a load on Itanium and, when the data is needed, check to determine if the load was completed and valid before using the data or blocking after re-starting the load if the original failed. These are known as speculative loads, not prescient, though.
This sounds more like a topic for a hardware or processor design forum (which we don't have at the moment).
-- clay
ClayB
Black Belt
137 Views

Found this paper after I posted:

http://www.eecg.toronto.edu/~aamodt/papers/hw-support-prescientprefetch.hpca10.pdf

Three of the five authors are Intel employees and the results were generated on a "research Itanium SMT". I expect, from the performance results cited in the paper, this technology may one day be included in Intel processors. Plenty of citations of related work are included for the curious.
-- clay
jseigh
Beginner
137 Views
Thanks. It turns out what I was calling prescient loads would really be called out of order dependent loads. There's a discussion about it in the Linux kernel mailing list here

http://marc.theaimsgroup.com/?t=100259422200002&r=1&w=2

Apparently somebody went through the architecture manuals and decided that dependent loads would not do that. They have a special Linux membar so they can use real membars for platforms that require it such as the Alpha.

Joe Seigh
Reply