Publisher Summary   This chapter discusses a complete framework for the parallelization of nested loops by applying tiling transformation and automatically generating MPI code that allows for an advanced scheduling scheme. In particular, under advanced scheduling scheme two separate techniques are considered: first, the application of a suitable tiling transformation, and second, the overlapping of computation and communication when executing the parallel program. As far as the choice of a scheduling-efficient tiling transformation is concerned, the data dependencies of the initial algorithm are taken into account and an appropriate transformation matrix is automatically generated according to a well-established theory. On the other hand, overlapping computation with communication partly hides the communication overhead and allows for more efficient processor utilization. The chapter discusses a tool that automatically generates MPI code and supports arbitrary tiling transformations, as well as both communication schemes, e.g., the conventional receive-compute-send scheme and the overlapping one.
['Nikolaos Drosinos', 'Georgios I. Goumas', 'Maria Athanasaki', 'Nectarios Koziris']
Delivering high performance to parallel applications using advanced scheduling