Sample Code for a Combined MPI/OpenMP Two-Layered Master-Slave Model

The nodes of computer clusters such as our Victoria Falls cluster are often multi-core and each core may support multiple threads. This suggests a two-layer approach when programming new codes or adapting existing ones. To optimally exploit the distributed-memory structure of the cluster while at the same time keeping each shared-memory node busy, a combined MPI-OpenMP programming approach may be taken.