Hey, on an SMP box threaded codes CAN always be faster than their MPI equivalents. One reason why MPI sometimes turns out to be faster is that with MPI every process actually initializes its own data. Therefore it'll end up in the NUMA domain to which the core running that process belongs. A lot of threaded codes are not NUMA aware. So, for instance the initialization is done sequentially (because it may not take a lot of time), and Linux' first touch policy makes all memory pages belong to a single domain. In essence, those codes will use just a single memory controller (and its bandwidth).
Cheers -Andreas On 11:56 Sun 11 Dec , MM wrote: > I guess, on a multicore machine, openmp/pthread code will always run faster > than MPI code on the same box, even if the MPI implementation is efficient > and uses a shared memory tool whereby the data is actually shared across the > different process, though it's in a different way than it is shared across > the threads in the same process. > > > > I'd be curious to see some timing comparisons. > > MM > > > > From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On > Behalf Of amjad ali > Sent: 10 December 2011 20:22 > To: Open MPI Users > Subject: [OMPI users] How to justify the use MPI codes on multicore > systems/PCs? > > > > Hello All, > > > > I developed my MPI based parallel code for clusters, but now I use it on > multicore/manycore computers (PCs) as well. How to justify (in some > thesis/publication) the use of a distributed memory code (in MPI) on a > shared memory (multicore) machine. I guess to explain two reasons: > > > > (1) Plan is to use several hunderds processes in future. So MPI like stuff > is necessary. To maintain code uniformity and save cost/time for developing > shared memory solution (using OpenMP, pthreads etc), I use the same MPI code > on shared memory systems (like multicore PCs). MPI based codes give > reasonable performance on multicore PCs, if not the best. > > > > (2) The latest MPI implementations are intelligent enough that they use some > efficient mechanism while executing MPI based codes on shared memory > (multicore) machines. (please tell me any reference to quote this fact). > > > > > > Please help me in formally justifying this and comment/modify above two > justifications. Better if I you can suggent me to quote some reference of > any suitable publication in this regard. > > > > best regards, > > Amjad Ali > > > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users -- ========================================================== Andreas Schäfer HPC and Grid Computing Chair of Computer Science 3 Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany +49 9131 85-27910 PGP/GPG key via keyserver http://www.libgeodecomp.org ========================================================== (\___/) (+'.'+) (")_(") This is Bunny. Copy and paste Bunny into your signature to help him gain world domination!
signature.asc
Description: Digital signature