Collapsed distributions mean array rank can be larger than process grid rank.
Also allowed for array rank to be smaller than grid rank:
Procs2 p = new Procs2(P, P);
Range x = new BlockRange(N, p.dim(0));
float [] b = new float [[x]];
Array b is replicated over p.dim(1).