Learn R Programming

kazaam (version 0.1-0)

shaq-class: Class shaq

Description

An S4 container for a distributed tall/skinny matrix.

Arguments

Slots

DATA

The local submatrix.

nrows,

ncols The global matrix dimension.

Details

The (conceptual) global (non-distributed) matrix should be distributed by row, meaning that each submatrix should own all of the columns of the global matrix. Most methods assume no other real structure, however for best performance (and for the methods which require it), one should try to organize their distributed data in a particular way.

First, adjacent MPI ranks should hold adjacent rows. So if the last row that rank k owns is i, then the first row that rank k+1 owns should be row i+1. Additionally, any method that operates on two (or more) shaq objects, the two shaqs should be distributed identically. By this we mean that if the number of rows shaq A owns on rank k is k_i, then the number of rows shaq B owns on rank k should also be k_i.

Finally, for best performance, one should generally try to keep the number of rows "balanced" (roughly equal) across processes, with perhaps the last "few" having one less row than the others.

See Also

shaq