A masked dimension minimum location schedule is a communication schedule for searching, under the control of a mask, for the smallest elements of a distributed array along one of its dimensions, yielding a reduced array with rank one less than the source.
A masked dimension minimum location schedule is described by a collective object with local components of class MinlocDimMsk. The public interface of the MinlocDimMsk class is
class DAD ; template<class T> class MinlocDimMsk { public : MinlocDimMsk(const DAD* val, const DAD* pos, const DAD* src, const int dim, const DAD* msk) ; void execute(T* valDat, int* posDat, T* srcDat, int* mskDat) ; private : ... } ;