Posts tagged communication
YAXT (Yet Another eXchange Tool)
- 23 May 2024
YAXT is a communication layer on top of the MPI library. At starting, the library generates a mapping table between source and target decomposition (communication pattern) and a specific redistribution objects, based on MPI derived datatypes, to perform the exchanges. YAXT is used by YAC for both interpolation weight generation and the coupling field exchange. To calculate the communication patterns of exchanges, more efficient than a simple MPI “all to all”, the libraries rely on a rendezvous algorithm based on a distributed directory of global indices. YAXT not only optimises the exchange pattern but also reduces the communication number, grouping the exchanged arrays on MPI derived datatypes, supposed to reduce the array copies and pack-unpack operations.