Dear Pascal, I've been playing with both for some time. From the point of view of efficiency, it seens to me that mpi is at the moment better paralellized, which means you get a faster calculation with the same number of processors. However there's a big drawback in pure mpi: each process has it's own memory requirements, which means you might get in a situation where your total number of processors is limited by the memory available in the supercomputer node. In this situation, OpenMP is nice; running a job with 1 processor and with 8 under OpenMP increases the memory requirements much less than with MPI, which in practice allows you to run with more processors.
I believe that the hybrid scheme is preferable when you have a computer architecture that demands it. For example, a cluster of networked PCs, each node containing 8 cores, without shared memory. In this case, you could spawn a mpi process for each node, and run them with openmp to use the cores without overloading the memory. If on the other hand you are using a supercomputer with shared memory, then you can simply go for pure MPI if the machine can handle it. Regards Giovani M. Faccin UFMS / Brazil 2011/10/12 pascal boulet <pascal.boulet at univ-provence.fr> > Dear all, > > > I am not familiar with the openMP parallelization. I would like to know > in what circumstances openMP is worth being used? Same question for > MPI+openMP. > > Thank you for your help. > Best regards > Pascal > _______________________________________________ > Pw_forum mailing list > Pw_forum at pwscf.org > http://www.democritos.it/mailman/listinfo/pw_forum > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.democritos.it/pipermail/pw_forum/attachments/20111012/0d8159b3/attachment.htm