z-logo
Premium
Automatic runtime calculation of communications for data‐parallel expressions with periodic conditions
Author(s) -
MoretonFernandez Ana,
GonzalezEscribano Arturo
Publication year - 2018
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.4430
Subject(s) - computer science , compiler , programmer , compile time , parallel computing , affine transformation , partition (number theory) , code (set theory) , programming language , distributed computing , mathematics , set (abstract data type) , combinatorics , pure mathematics
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.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here