Most MPI and OpenMP implementations lock processes to cores for this
very reason.

AFAICT this is not always the case. E.g. on systems with glibc, this functionality (set_process_affinity and such) is only available starting from libc-2.3.4.

jan 2005 ;)

Mixing OpenMP and MPI in one and the same algorithm does indeed not generally provide a big advantage.

I'm curious why this would be.  do you have examples or analysis?

scales. E.g. you can obtain a big boost when running an MPI-code where each process performs local dgemm's for instance by using an OpenMP'd dgemm implementation. This is an example where running mixed-mode makes a lot of sense.

if you take this approach, you'd do blocking to divide the node's work
among threads, no?  or would performance require that a thread's block
fit in its private cache? if threads indeed do blocking, then the difference between hybrid and straight MPI approaches would mainly be down to time spent rearranging the matrices to set up for dgemm.
or would the threaded part of the hybrid approach not do blocking?
_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org
To change your subscription (digest mode or unsubscribe) visit 
http://www.beowulf.org/mailman/listinfo/beowulf

Reply via email to