Re: Poor performance with OpenMP

On 15/01/2011 10:05 a.m., Kay Diederichs wrote:

Maybe we can agree on the following?
a) depending on the specific situation (software/hardware), HT may or may not
help. It is not helpful to insist that "it's always better" or "always bad".
b) one can always try a given code with and without HT, and decide afterwards.
That's easy enough.

The same is true for OpenMP vs MPI for which you seem to have strong opinions
(negative for OpenMP, IIUC). I find your apodictic words not helpful. Comparing
these methods is a bit like comparing apples to pears. There are usage cases for
both; it would be unrealistic to deny this. Anybody interested in
parallelization should try both; one really has to learn from one's own experience.

My experience is that only in trivial cases a significant parallel speedup is
easy to obtain. In real-world cases one has to become well versed for the
specific problem and parallelization method, and invest time. This is true for
both OpenMP and MPI - but the specifics differ (a lot).



I second your comments. I spent quite some time setting my simulation program up to use MPI, and eventually concluded that it was not suited to that mode of parallelization - too much communication. With OpenMP I get approx. 2x speedup with 3 cores on a quad-core box, insignificant further improvement by using all 4 cores. Twice the speed is certainly worthwhile for me.


Relevant Pages

  • Re: Combining threads and MPI
    ... gcc 4.1.2, OpenMP and OpenMPI 1.2.6. ... In Open MPI, thread support is disabled by default. ... You can have a look at the utilized CPU time/load of your program while it is running using a suitable process monitoring tool. ... the OS is responsible for distributing the processes to the cores. ...
  • Re: Poor performance with OpenMP
    ... many cores to use for parallel programs. ... especially when using OpenMP, on that hardware. ... evidence is of dubious relevance to real programs. ... The same is true for OpenMP vs MPI for which you seem to have strong opinions ...
  • Re: I need some guideance regarding parallel processing
    ... think of the memory layout ... I was turned on to openMP. ... But I am open to learning MPI, PVM, ... OpenMP on a distributed-memory systems. ...
  • Re: parallel fortran
    ... Open Watcom and Intel Visual Fortran compilers in Win32! ... You start with a working serial code, ... that supports OpenMP. ... This is more difficult - the code has to be rewritten to use MPI ...
  • Re: spawing multiple threads in Compaq Fortran?
    ... OpenMP and MPI. ... OpenMP requires shared memory and MPI requires inter-process ...