Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
1093 Discussions

Generating Prefetch Instructions in AVX code...

twilkens
Beginner
546 Views
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
0 Kudos
5 Replies
Martyn_C_Intel
Employee
546 Views
Hi Tim,
I'llenquire aboutthat. Do you have a small piece of code as an example?
Martyn

0 Kudos
twilkens
Beginner
546 Views
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
0 Kudos
Martyn_C_Intel
Employee
546 Views
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
0 Kudos
twilkens
Beginner
546 Views
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
0 Kudos
Martyn_C_Intel
Employee
546 Views
Hi Tim,
I just heard that thefix for this has been targeted for the next major compiler version.
Regards,
Martyn
0 Kudos
Reply