- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.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.
Thank you
Regards,
Ram
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.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.
Regards,
Ram
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page