04-03-2012 04:50 PM
I was trying to enable software prefetching on Opteron by compiling an application using Intel compiler. But I am facing some problem.
I use the below compilation command.
-> icc -openmp -O3 -xsse4.2 -opt-prefetch=4 is.c
But when I run the program I get the below error.
"Fatal Error: This program was not built to run on the processor in your system.
The allowed processors are: Intel processors with SSE4.2 and POPCNT instructions support."
The CPU model is:
model name : Quad-Core AMD Opteron Processor 2354
Does anybody know what is the correct compiler option for icc to enable s/w prefetching? Please let me know.
04-03-2012 08:17 PM
I tried this option, but I don't think the prefetch instruction is being generated.
I executed below command with the option you mentioned along with "-S" option to see the assembly file.
--> icc -c -openmp -O3 -axsse4.2 -msse3 -opt-prefetch=4 -S is.c
But the generated assembly file is.s doesn't seem to have any prefetch instruction inserted.
Between, I happened to read some where that '-xsse4.2' option is must to generate prefetch instruction, hence I was using it before.
Let me know what you think about this approach.