Multi-core architectures with an increasing number of cores are beginning to dominate compute platforms for scientific and engineering simulations. One potential means of programming these systems includes combining MPI with OpenMPI in a hybrid model. In this tutorial, we describe the ways in which the hybrid model can be programmed, and discuss its performance compared with pure MPI. We also review current multi-core architectures and provide an introduction to alternate languages such as Co-array Fortran (CAF) and Unified Parallel C (UPC). We present benchmark results on several platforms and identify which applications are likely to benefit from hybrid programming models.
*author only—not speaking