for(int k=0; k < ss.numSubsets(); ++k) zero_rep(dest[k]);   const multi1d<int>& lat_color =  ss.LatticeColoring();  for(int i=0; i < Layout::sitesOnNode(); ++i)
for(int i=0; i < ss.numSubsets(); ++i)
sumMulti(const QDPExpr<RHS,OLattice<T> >& s1, const Set& ss){  typename UnaryReturn<OLattice<T>, FnSumMulti>::Type_t  dest(ss.numSubsets());  // Initialize result with zero  for(int k=0; k < ss.numSubsets(); ++k)    zero_rep(dest[k]);  // Loop over all sites and accumulate based on the coloring   const multi1d<int>& lat_color =  ss.LatticeColoring();  for(int i=0; i < Layout::sitesOnNode(); ++i)   {    int j = lat_color[i];    dest[j].elem() += forEach(s1, EvalLeaf1(i), OpCombine());   // SINGLE NODE VERSION FOR NOW  }  // Do a global sum on the result  for(int k=0; k < ss.numSubsets(); ++k)    Internal::globalSum(dest[k]);    return dest;}