Automatic runtime calculation of communications for data‐parallel expressions with periodic conditions. (31st January 2018) - Moreton‐Fernandez, Ana; Gonzalez‐Escribano, Arturo
Summary: Many real‐world applications feature data accesses on periodic domains. Manually implementing the synchronizations and communications associated to the data dependences on each case is cumbersome and error‐prone. It is increasingly interesting to support these applications in high‐level parallel programming languages or parallelizing compilers. In this paper, we present a technique that, for distributed‐memory systems, calculates the specific communications derived from data‐parallel codes with or without periodic boundary conditions on affine access expressions. It makes transparent to the programmer the management of aggregated communications for the chosen data partition. Our technique moves to runtime part of the compile‐time analysis typically used to generate the communication code for affine expressions, introducing a complete new technique that also supports the periodic boundary conditions. We present an experimental study to evaluate our proposal using several study cases. Our experimental results show that our approach can automatically obtain communication codes as efficient as those found in MPI reference codes, reducing the development effort.