ADCL

ADCL: Abstract Data and Communication Library

ADCL is an application level communication library aiming at providing
the highest possible performance for application level communication
patterns, such as the n-D neighhorhood communication, within a given
execution environment. The library provides for each communication
pattern a large number of implementations and incorporates a runtime
selection logic in order to choose the implementation leading to the
highest performance of the application on the current platform. Two
different runtime selection algorithms are currently available within
ADCL: the library can either apply a brute force search strategy which
tests all available implementations of a given communication pattern;
alternatively, a heuristic relying on attributes characterizing an
implementation has been developed in order to speed up the runtime
decision procedure.

The ADCL API offers high level interfaces of application level
collective operations. The high level interfaces are required in order
to be able to switch within the library the implementation of the
according collective operation without modifying the application
itself. Thus, ADCL complements functionality available within MPI.

Partial support for this work was provided by the National Science Foundation under award no. CNS-0846002. Any opinions, findings, and conclusions or recommendations expressed in thie material are those of the authors and do not necessarily reflect the views of the National Science Foundation.