A module for handling scratch memory for distributed matrix multiplication.
Construct Distributed Matrix Memory Pool object.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(Matrix_ps), | intent(in) | :: | matrix | The associated distributed sparse matrix. |
A constructed Matrix Memory Pool object.
Destruct a Distributed Matrix Memory Pool object.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MatrixMemoryPool_p), | intent(inout) | :: | this | Distributed Matrix Memory Pool object to destroy. |
Checks if a given distributed memory pool has been validly allocated to handle the given parameters.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MatrixMemoryPool_p), | intent(in) | :: | this | The memory pool to check. |
||
type(Matrix_ps), | intent(in) | :: | matrix | The associated matrix to check against. |
True if the memory pool is valid.
A memory pool datatype that can be reused for matrix matrix multiplication. this is to prevent excessive alloc/dealloc.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(MatrixMemoryPool_lr), | public, | DIMENSION(:,:), ALLOCATABLE | :: | grid_r | Grid of local pools. |
||
type(MatrixMemoryPool_lc), | public, | DIMENSION(:,:), ALLOCATABLE | :: | grid_c | Grid of local pools (complex). |
private pure function ConstructMatrixMemoryPool_p(matrix) | Construct Distributed Matrix Memory Pool object. |