- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please excuse me if this was asked before!
I want to know which portions of code are auto parallelized with the compiler switch -parallel.Is there any way under linux that I can see which parts of code are auto parallelized with in the object file compiled from the c source? I can already do that fairly easy with Sun Compilers that I am used to and I am currently using Intel C and Fortran compilers for the first time, so I am still incognizant about all Intel Compiler's flags and features.
Secondly, if I set explicit OpenMP directives, which takes precedence, OpenMP Pragmas under C, or the Auto Parallelization?
Finally how do I control the level of Auto Parallelization. For instance, I might not want to parallelize certain portions of code which the compiler may parallelize?
Thanks in advance and best regards.
Wajahat
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wajahat,
Use "ifort /?" (on Linux this might be "ifort -?") to get the options for Intel Fortran. I think "/?" works for the Intel C++ compiler too (I don't have Intel C++).
For ifort
/Qopenmp-report{0|1|2} control the OpenMP parallelizer diagnostic level
/Qpar-report{0|1|2|3} control the auto-parallelizer diagnostic level
Your second question you can answer for yourself by producing two reports of a loop in code compiled with autoparallel-on, OpenMP-off (where loop is reported as auto parallelized), and a second report of the same loop with OpenMP pragmas and compiled with autoparallel-on OpenMP-on.
Third question. I do not have the Intel C++ documentation but autoparallization has controls for threshold (minimum loop count) and should have #pragma to enable/disable as well as adjust threshold.
Jim Dempsey
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page