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