Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
1138 Обсуждение

Generating Prefetch Instructions in AVX code...

twilkens
Начинающий
1 457Просмотр.
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 баллов
5 Ответы
Martyn_C_Intel
Сотрудник
1 457Просмотр.
Hi Tim,
I'llenquire aboutthat. Do you have a small piece of code as an example?
Martyn

twilkens
Начинающий
1 457Просмотр.
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
Martyn_C_Intel
Сотрудник
1 457Просмотр.
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
twilkens
Начинающий
1 457Просмотр.
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
Martyn_C_Intel
Сотрудник
1 457Просмотр.
Hi Tim,
I just heard that thefix for this has been targeted for the next major compiler version.
Regards,
Martyn
Ответить