- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi all,
i'm playing a bit with hardware prefetcing on our dual L5420 nodes.
most info indicates that the performance results should vary from application to application (eg
http://software.intel.com/en-us/articles/optimizing-application-performance-on-intel-coret-microarchitecture-using-hardware-implemented-prefetchers/ )
i have disabled one of and even both both the hardware prefetecher and the adjacent cache-line prefetch option (both through bios and through msr), but much to my surprise, i don't see any differences at all.
i've tried both real applciations and synthetic ones, and now i'm starting to suspect something else is not ok.
my question is the following: what simple executable/benchmark should clearly demonstrate a difference? i have already tried the whole HPCC suite, and things link STREAM, randomaccess or hpl don't differ much (< 2%) between on or off, where i would expect otherwise.
thanks for any suggestions,
stijn
i'm playing a bit with hardware prefetcing on our dual L5420 nodes.
most info indicates that the performance results should vary from application to application (eg
http://software.intel.com/en-us/articles/optimizing-application-performance-on-intel-coret-microarchitecture-using-hardware-implemented-prefetchers/ )
i have disabled one of and even both both the hardware prefetecher and the adjacent cache-line prefetch option (both through bios and through msr), but much to my surprise, i don't see any differences at all.
i've tried both real applciations and synthetic ones, and now i'm starting to suspect something else is not ok.
my question is the following: what simple executable/benchmark should clearly demonstrate a difference? i have already tried the whole HPCC suite, and things link STREAM, randomaccess or hpl don't differ much (< 2%) between on or off, where i would expect otherwise.
thanks for any suggestions,
stijn
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Stijin,
I'm not sure that this forum is good place to ask such question. This forum is dedicated for questions about Intel MPI Library, Cluster Tools and High Performance Computing.
Regards!
Dmitry
I'm not sure that this forum is good place to ask such question. This forum is dedicated for questions about Intel MPI Library, Cluster Tools and High Performance Computing.
Regards!
Dmitry
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Random access presumably is designed to defeat cache optimizations including prefetch.
Adjacent sector prefetch is entirely likely to have little effect on normal HPC applications.
I haven't looked into details of HPL. If you want to start from scratch, rather than consult those who may have analyzed it back when 5420 was a current product, you would look into details of cache behavior with hardware prefetch on and off by using a tool such as VTune. Of course, you should check that you are using affinity correctly, particularly if running OpenMP versions of STREAM, or an MPI which doesn't set affinity by default.
In applications with which I'm familiar, hardware prefetch is most effective when the application bandwidth demand is lower than hardware maximum, as the prefetch generally increases bandwidth demand.
This forum is primarily dedicated to Intel MPI related questions, although it may not be clear from the title, so you should be specific if you are looking for help outside that area.
Adjacent sector prefetch is entirely likely to have little effect on normal HPC applications.
I haven't looked into details of HPL. If you want to start from scratch, rather than consult those who may have analyzed it back when 5420 was a current product, you would look into details of cache behavior with hardware prefetch on and off by using a tool such as VTune. Of course, you should check that you are using affinity correctly, particularly if running OpenMP versions of STREAM, or an MPI which doesn't set affinity by default.
In applications with which I'm familiar, hardware prefetch is most effective when the application bandwidth demand is lower than hardware maximum, as the prefetch generally increases bandwidth demand.
This forum is primarily dedicated to Intel MPI related questions, although it may not be clear from the title, so you should be specific if you are looking for help outside that area.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page