2024-03-28T12:32:59Zhttps://uvadoc.uva.es/oai/requestoai:uvadoc.uva.es:10324/291122022-01-18T12:51:56Zcom_10324_1165com_10324_931com_10324_894col_10324_1335
A Technique to Automatically Determine Ad-hoc Communication Patterns at Runtime
Moretón Fernández, Ana
González Escribano, Arturo
Llanos Ferraris, Diego Rafael
Current High Performance Computing (HPC) systems are typically built as interconnected clusters of shared-memory multicore computers. Several techniques to automatically generate parallel programs from high-level parallel languages or sequential codes have been proposed. To properly exploit the scalability of HPC clusters, these techniques should take into account the combination of data communication across distributed memory, and the exploitation of shared-memory models.
In this paper, we present a new communication calculation technique to be applied across different SPMD (Single Program Multiple Data) code blocks, containing several uniform data access expressions. We have implemented this technique in Trasgo, a programming model and compilation framework that transforms parallel programs from a high-level parallel specification that deals with parallelism in a unified, abstract, and portable way. The proposed technique computes at runtime exact coarse-grained communications for distributed message-passing processes. Applying this technique at runtime has the advantage of being independent of compile-time decisions, such as the tile size chosen for each process. Our approach allows the automatic generation of pre-compiled multi-level parallel routines, libraries, or programs that can adapt their communication, synchronization, and optimization structures to the target system, even when computing nodes have different capabilities. Our experimental results show that, despite our runtime calculation, our approach can automatically produce efficient programs compared with MPI reference codes, and with codes generated with auto-parallelizing compilers.
2018-12-01T00:40:30Z
2018-12-01T00:40:30Z
2018-12-01T00:40:30Z
2017
info:eu-repo/semantics/article
Parallel Computing, volume 69, nov. 2017, pages 45-62, ISSN 0167-8191, Elsevier
http://uvadoc.uva.es/handle/10324/29112
10.1016/j.parco.2017.08.009
eng
https://www.sciencedirect.com/science/article/pii/S0167819117301254?via%3Dihub
info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by/4.0/
Elsevier
Attribution 4.0 International
Elsevier