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