intel auto-parallization

C

Chris

Hi,
I compiled a program using intels most recent c compiler.
I utilized the compiler flag "-parallel" in order to enable auto
parallization.
However, when invoking the compiled program, its not running parallel at
all, i.e. on my dualcore "top" never displays a cpu usage of more than 100%.
Why is that? Do I have to set an environment variable, like for OpenMP?
Thanks,
Chris
 
T

Tim Prince

Chris said:
Hi,
I compiled a program using intels most recent c compiler.
I utilized the compiler flag "-parallel" in order to enable auto
parallization.
However, when invoking the compiled program, its not running parallel at
all, i.e. on my dualcore "top" never displays a cpu usage of more than 100%.
Why is that? Do I have to set an environment variable, like for OpenMP?

If you didn't get any screen echo about parallelized loops, or if the
reported parallel loops aren't the important ones, the compiler hasn't
recognized any easily parallelizable loops with clearly expected gains.
Usually, easily parallelizable involves nested loops, with
sufficiently long inner loops, as well as no aliasing problems (did you
set -ansi-alias to assure the compiler that your code complies with
standard?) In many situations, you would need to use restrict qualifiers.
There are options to get more verbose diagnostics about candidate loops
and why they are not parallelized, and to lower the threshold for
consideration of parallelism.
There is also an Intel C compiler forum, where this is topical, as
opposed to being mostly untopical here.
 
H

Harold Aptroot

Chris said:
Hi,
I compiled a program using intels most recent c compiler.
I utilized the compiler flag "-parallel" in order to enable auto
parallization.
However, when invoking the compiled program, its not running parallel at
all, i.e. on my dualcore "top" never displays a cpu usage of more than
100%.
Why is that? Do I have to set an environment variable, like for OpenMP?
Thanks,
Chris

What are you measuring that with?
On for example Windows Taskmanager, 100% means 100% on All cores (so with a
dual core, a non-parallel program would top at 50%)
 
A

Antoninus Twink

What are you measuring that with?
On for example Windows Taskmanager, 100% means 100% on All cores (so with a
dual core, a non-parallel program would top at 50%)

Well, reading between the lines, I assumed that the OP's statement "top
never displays a cpu usage of more than 100%" meant he was measuring it
using top.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Staff online

Members online

Forum statistics

Threads
473,774
Messages
2,569,599
Members
45,162
Latest member
GertrudeMa
Top