Matrix Distribution¶
Typedefs
-
typedef void *SplaMatrixDistribution¶
Matrix distribution handle.
Functions
-
SplaError spla_mat_dis_create_block_cyclic(SplaMatrixDistribution *matDis, MPI_Comm comm, char order, int procGridRows, int procGridCols, int rowBlockSize, int colBlockSize)¶
Create a blacs block cyclic matrix distribution with row major or coloumn major ordering of MPI ranks.
- Parameters
matDis – [out] Matrix distribution handle.
comm – [in] MPI communicator to be used.
order – [in] Either ‘R’ for row major ordering or ‘C’ for coloumn major ordering.
procGridRows – [in] Number of rows in process grid.
procGridCols – [in] Number of coloumns in process grid.
rowBlockSize – [in] Row block size for matrix partitioning.
colBlockSize – [in] Coloumn block size for matrix partitioning.
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_create_blacs_block_cyclic_from_mapping(SplaMatrixDistribution *matDis, MPI_Comm comm, const int *mapping, int procGridRows, int procGridCols, int rowBlockSize, int colBlockSize)¶
Create a blacs block cyclic matrix distribution with given process grid mapping.
- Parameters
matDis – [out] Matrix distribution handle.
comm – [in] MPI communicator to be used.
mapping – [in] Pointer to array of size procGridRows * procGridCols mapping MPI ranks onto a coloumn major process grid.
procGridRows – [in] Number of rows in process grid.
procGridCols – [in] Number of coloumns in process grid.
rowBlockSize – [in] Row block size for matrix partitioning.
colBlockSize – [in] Coloumn block size for matrix partitioning.
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_destroy(SplaMatrixDistribution *matDis)¶
Destroy matrix distribution.
- Parameters
matDis – [in] Matrix distribution handle.
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_create_mirror(SplaMatrixDistribution *matDis, MPI_Comm comm)¶
Create a mirror distribution, where the full matrix is stored on each MPI rank.
- Parameters
matDis – [out] Matrix distribution handle.
comm – [in] MPI communicator to be used.
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_proc_grid_rows(SplaMatrixDistribution matDis, int *procGridRows)¶
Access a distribution parameter.
- Parameters
matDis – [in] Matrix distribution handle.
procGridRows – [out] Number of rows in process grid.
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_proc_grid_cols(SplaMatrixDistribution matDis, int *procGridCols)¶
Access a distribution parameter.
- Parameters
matDis – [in] Matrix distribution handle.
procGridCols – [out] Number of coloumns in process grid.
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_row_block_size(SplaMatrixDistribution matDis, int *rowBlockSize)¶
Access a distribution parameter.
- Parameters
matDis – [in] Matrix distribution handle.
rowBlockSize – [out] Row block size used for matrix partitioning.
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_col_block_size(SplaMatrixDistribution matDis, int *colBlockSize)¶
Access a distribution parameter.
- Parameters
matDis – [in] Matrix distribution handle.
colBlockSize – [out] Coloumn block size used for matrix partitioning.
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_type(SplaMatrixDistribution matDis, SplaDistributionType *type)¶
Access a distribution parameter.
- Parameters
matDis – [in] Matrix distribution handle.
type – [out] Distribution type
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_comm(SplaMatrixDistribution matDis, MPI_Comm *comm)¶
Access a distribution parameter.
- Parameters
matDis – [in] Matrix distribution handle.
comm – [out] Communicator used internally. Order of ranks may differ from communicator provided for creation of distribution.
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_set_row_block_size(SplaMatrixDistribution matDis, int rowBlockSize)¶
Set a distribution parameter.
- Parameters
matDis – [in] Matrix distribution handle.
rowBlockSize – [in] Row block size used for matrix partitioning. provided for creation of distribution.
- Returns
Error code or SPLA_SUCCESS.
-
SplaError spla_mat_dis_set_col_block_size(SplaMatrixDistribution matDis, int colBlockSize)¶
Set a distribution parameter.
- Parameters
matDis – [in] Matrix distribution handle.
colBlockSize – [in] Col block size used for matrix partitioning. provided for creation of distribution.
- Returns
Error code or SPLA_SUCCESS.