enabling s/w prefetching

enabling s/w prefetching

Hi all,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.cBut 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 2354Does anybody know what is the correct compiler option for icc to enable s/w prefetching? Please let me know.Thank youRegards,Ram

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

If you want sse4.2 code and also an Opteron code path, you will need something like -axsse4.2 -msse3 . Prefetch option doesn't over-ride your architecture option.

Hi Tim,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.cBut 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.Regards,Ram

Login to leave a comment.