A library for changing between different data decompositions

Author: Stephen Booth
Posted: 2 May 2013 | 13:32

I'm currently working on a small library to support decomposition changes in parallel programs.

It turns out that a fairly simple interface can be used to describe a very large space of possible data decompositions. I'm therefore writing a library that can redistribute data between any two such decompositions.

This should be a really useful component for building parallel libraries as the surrounding application code will have a free choice of any of the supported data decompositions with the library automatically converting to and from its own internal representation. As the internal data decomposition used by the library is independent of that used by the rest of the code this also opens the possibility of libraries that auto-tune their internal data decompositions for maximum performance.

Watch this space for future developments!


Stephen Booth, EPCC