A module for handling scratch memory for distributed matrix multiplication.
Construct Distributed Matrix Memory Pool object.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(MatrixMemoryPool_p), | intent(inout) | :: | this |
A constructed Matrix Memory Pool object. |
||
type(Matrix_ps), | intent(in) | :: | matrix |
The associated distributed sparse matrix. |
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). |