[Beowulf] programming multicore clusters

Mark Hahn hahn at mcmaster.ca
Fri Jun 15 06:02:13 PDT 2007

>> 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?

More information about the Beowulf mailing list