A dimension sum schedule is a communication schedule for summing the elements of a distributed array along one of its dimensions, yielding a reduced array with rank one less than the source.
A dimension sum schedule is described by a collective object with local components of class SumDim. The public interface of the SumDim class is
class DAD ; template<class T> class SumDim { public : SumDim(const DAD* res, const DAD* src, const int dim) ; void execute(T* resDat, T* srcDat) ; private : ... } ;