A sum schedule is a communication schedule for adding together all elements of a distributed array (the source array). A sum schedule is described by a collective object with local components of class Sum. The public interface of the Sum class is
class DAD ; template<class T> class Sum { public : Sum(const DAD* src) ; void execute(T* res, T* srcDat) ; private : ... } ;