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.  |