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.