- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So, I would like to know what the compiler strategy is in creating FORTRAN executables. What is the difference between vectorizing and parallelizing? Will I generally see sharing of the two processors for code compiled this way? Why does the parallel code more fully occupy the two processors but not finish any faster?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vectorizing and parallelizing are different. Vectorizing is making use of the SSE instructions to perform up to four operations in a single instruction. This is independent of parallelizing.
Parallelizing is finding opportunities where work can be done in more than one thread, typically array operations in loops.
Unless you can see how the threads were actually used, you don't know if, perhaps, one thread did almost all of the work. It's also possible that your program is restricted by memory access time, which parallelzation would not help (might even hurt). The results you get suggest that might be the case.
The Intel Thread Profiler is a good tool to visualize how your program is using threads. You should also use the -opt-report switch and its keywords to get more advanced optimization reports from the parallelizier to see if there are hints as to what could be improved.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page