Yet Another eXchange Tool 0.10.0
Loading...
Searching...
No Matches
Algorithms to generate exchange maps

Introduction

The exchange map matches the source and target decompositions of all processes and generates a mapping between source and target points with identical global indices.

The yaxt library provides multiple algorithms to generate an example.

Algorithms

All-to-all

This algorithm uses collective MPI routines to distribute the source and target decomposition among all processes. Afterwards all processes are able to compute the mapping of their local data with remote data by themselves.

This algorithm is quite simple, but has some drawbacks. Since it uses collective communication its scaling to high process counts is limited. In addtion, the distribution of the complete source and target decomposition to all processes can lead to memory problems, if no compact index list types are being used. For small process counts it might give good results.

MPI_Comm comm);
int MPI_Comm
Definition core.h:64
Xt_xmap xt_xmap_all2all_new(Xt_idxlist src_idxlist, Xt_idxlist dst_idxlist, MPI_Comm comm)

Distributed directory

This exchange map type uses a rendezvous algorithm described in:
A. Pinar and B. Hendrickson, Communication Support for Adaptive Computation in Proc. SIAM Conf. on Parallel Processing for Scientific Computing, 2001.

MPI_Comm comm);
Xt_xmap xt_xmap_dist_dir_new(Xt_idxlist src_idxlist, Xt_idxlist dst_idxlist, MPI_Comm comm)