Improved replication for HPL with Dimensional.
Improved replication for HPL with Dimensional.

* Replicate the sub-row used in the last computation in panelSolve().

** Removed comments with suggestions on the above.
(They are still retained in hpl-blc+vass-dimensional.chpl.)

** Wrapped the computation in the loop body with 'local'.

* In schurComplement() and panelSolve(), replicate only the relevant
array elements over only the relevant locales.

** I wrote computeReplLocales() that returns an array of "relevant
locales". It assumes (a) the block-cyclic distribution and (b)
the entire row of a panel fits within one locale.
(It could be an iterator as well, except that having an array
allows us to cache the outcome.)

Discussion:

* The good: replicate over fewer locales.

* The questionable: in order to replicate only the relevant elements,
I added a few array slices. Given that the slicee arrays all support
privatization, each slice will add comm to all locales. That may
easily negate the benefits of replicating fewer elements.

* TODO: try taking out as many slices as possible and see if
we get speedup.

* TODO: add replication to updateBlockRow.


git-svn-id: 88467cb1fb04b8a755be7e1ee1026be4190196ef@19370 3a8e244f-b0f2-452b-bcba-4c88e055c3ca

hildeth/chapel,CoryMcCartan/chapel,chizarlicious/chapel,sungeunchoi/chapel,sungeunchoi/chapel,hildeth/chapel,sungeunchoi/chapel,chizarlicious/chapel,chizarlicious/chapel,CoryMcCartan/chapel,CoryMcCartan/chapel,chizarlicious/chapel,hildeth/chapel,sungeunchoi/chapel,CoryMcCartan/chapel,sungeunchoi/chapel,chizarlicious/chapel,chizarlicious/chapel,CoryMcCartan/chapel,sungeunchoi/chapel,hildeth/chapel,hildeth/chapel,sungeunchoi/chapel,sungeunchoi/chapel,hildeth/chapel,chizarlicious/chapel,hildeth/chapel,CoryMcCartan/chapel,CoryMcCartan/chapel