for(int i=0; i <= Layout::subgridVol(); ++i)
for(int i=0; i < Layout::subgridVol(); ++i)
sum(const QDPExpr<RHS,OLattice<T> >& s1){  typename UnaryReturn<OLattice<T>, FnSum>::Type_t  d;  // Loop always entered - could unroll  zero_rep(d.elem());  for(int i=0; i <= Layout::subgridVol(); ++i)     d.elem() += forEach(s1, EvalLeaf1(i), OpCombine());  // Do a global sum on the result  Internal::global_sum(d);    return d;}