Generating Prefetch Instructions in AVX code...

Generating Prefetch Instructions in AVX code...

Hi,
I've used the Intel 11.1 compiler to generate AVX code. Unfortunately I also find that there are no software prefetch instructions issued in that code. With SSE 4.2 sw prefetch was used.. switching from SSE 4.2 to AVX.. all software prefetches disappeared. Is there a way to get these generated in AVX as they were in SSE 4.2? If so please let me know. Thanks for any feedback...

Tim

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Tim,
I'llenquire aboutthat. Do you have a small piece of code as an example?
Martyn

Quoting - Martyn Corden (Intel)

Hi Tim,
I'llenquire aboutthat. Do you have a small piece of code as an example?
Martyn

Martyn,
I'm compiling all of SPEC FP 06.. with both 11.0 and 11.1 and observe that in 11.1 if you replace SSE4.2 switches in public submissions with AVX.. the SW PF disappears. Any help clarifying getting it reinstated is very useful. Thanks Martyn...

Tim

Hi Tim,
I don't think this was intentional, /Qxavx (-xavx) is a new switch and the prefetches haven't got hooked up yet. I'll submit a ticket toget that donein a compiler update. As you know, a lot of prefetching is done in hardware, so software generation of prefetches needs to be selective.Even with -O3 -xsse4.2,you need to add the switch -opt-prefetch to turn on software prefetch generation, but you evidently knew this. -opt-prefetch will still be necessary with -xavx.
Thanks for pointing this out.

Regards,
Martyn

Quoting - Martyn Corden (Intel)
Hi Tim,
I don't think this was intentional, /Qxavx (-xavx) is a new switch and the prefetches haven't got hooked up yet. I'll submit a ticket toget that donein a compiler update. As you know, a lot of prefetching is done in hardware, so software generation of prefetches needs to be selective.Even with -O3 -xsse4.2,you need to add the switch -opt-prefetch to turn on software prefetch generation, but you evidently knew this. -opt-prefetch will still be necessary with -xavx.
Thanks for pointing this out.

Regards,
Martyn

Marytyn,
Thanks for looking into this. If you can, please let me know when an update is available for the compiler. I'd be very interested in evaluating it.

Tim

Hi Tim,
I just heard that thefix for this has been targeted for the next major compiler version.
Regards,
Martyn

Leave a Comment

Please sign in to add a comment. Not a member? Join today