NTPoly
Data Types | Functions/Subroutines
matrixgathermodule Module Reference

Module for gathering matrices across processes. More...

Data Types

type  gatherhelper_t
 A data structure to stores internal information about a gather call. More...
 

Functions/Subroutines

subroutine, public gathersizes (matrix, communicator, helper)
 First we gather the sizes of the data to be sent. More...
 
subroutine, public gatherandcomposedata (matrix, communicator, gathered_matrix, helper)
 Next we gather the data. More...
 
pure subroutine, public gatherandcomposecleanup (matrix, gathered_matrix, helper)
 Finally we finish setting up the matrices are communication is done. More...
 
subroutine, public gatherandsumdata (matrix, communicator, helper)
 Next we gather the data. More...
 
pure subroutine, public gatherandsumcleanup (matrix, gathered_matrix, threshold, helper)
 Finally we sum up the matrices are communication is done. More...
 
logical function, public testsizerequest (helper)
 Test if a request for the size of the matrices is complete. More...
 
logical function, public testouterrequest (helper)
 Test if a request for the outer indices of the matrices is complete. More...
 
logical function, public testinnerrequest (helper)
 Test if a request for the inner indices of the matrices is complete. More...
 
logical function, public testdatarequest (helper)
 Test if a request for the data of the matrices is complete. More...
 

Detailed Description

Module for gathering matrices across processes.

Function/Subroutine Documentation

◆ gatherandcomposecleanup()

pure subroutine, public matrixgathermodule::gatherandcomposecleanup ( type(sparsematrix_t), intent(in)  matrix,
type(sparsematrix_t), intent(inout)  gathered_matrix,
type(gatherhelper_t), intent(inout)  helper 
)

Finally we finish setting up the matrices are communication is done.

Parameters
[in]matrixto send.
[in]gathered_matrixmatrix we are gathering.
[in,out]helpera helper associated with this gather.

◆ gatherandcomposedata()

subroutine, public matrixgathermodule::gatherandcomposedata ( type(sparsematrix_t), intent(in)  matrix,
integer, intent(inout)  communicator,
type(sparsematrix_t), intent(inout)  gathered_matrix,
type(gatherhelper_t), intent(inout)  helper 
)

Next we gather the data.

Parameters
[in]matrixto send.
[in,out]communicatorto send along.
[in,out]gathered_matrixthe matrix we are gathering.
[in,out]helpera helper associated with this gather.

◆ gatherandsumcleanup()

pure subroutine, public matrixgathermodule::gatherandsumcleanup ( type(sparsematrix_t), intent(in)  matrix,
type(sparsematrix_t), intent(inout)  gathered_matrix,
real(ntreal), intent(in)  threshold,
type(gatherhelper_t), intent(inout)  helper 
)

Finally we sum up the matrices are communication is done.

Parameters
[in]matrixto send.
[in,out]gathered_matrixthe matrix being gathered.
[in]thresholdthe threshold for flushing values.
[in,out]helpera helper associated with this gather.

◆ gatherandsumdata()

subroutine, public matrixgathermodule::gatherandsumdata ( type(sparsematrix_t), intent(in)  matrix,
integer, intent(inout)  communicator,
type(gatherhelper_t), intent(inout)  helper 
)

Next we gather the data.

Parameters
[in]matrixto send.
[in,out]communicatorto send along.
[in,out]helpera helper associated with this gather.

◆ gathersizes()

subroutine, public matrixgathermodule::gathersizes ( type(sparsematrix_t), intent(in)  matrix,
integer, intent(inout)  communicator,
type(gatherhelper_t), intent(inout)  helper 
)

First we gather the sizes of the data to be sent.

Parameters
[in]matrixto send.
[in,out]communicatorto send along.
[in,out]helpera helper associated with this gather.

◆ testdatarequest()

logical function, public matrixgathermodule::testdatarequest ( type(gatherhelper_t), intent(inout)  helper)

Test if a request for the data of the matrices is complete.

Parameters
[in]helperthe gatherer helper structure.
Returns
request_completed true if the request is finished.

◆ testinnerrequest()

logical function, public matrixgathermodule::testinnerrequest ( type(gatherhelper_t), intent(inout)  helper)

Test if a request for the inner indices of the matrices is complete.

Parameters
[in]helperthe gatherer helper structure.
Returns
request_completed true if the request is finished.

◆ testouterrequest()

logical function, public matrixgathermodule::testouterrequest ( type(gatherhelper_t), intent(inout)  helper)

Test if a request for the outer indices of the matrices is complete.

Parameters
[in]helperthe gatherer helper structure.
Returns
request_completed true if the request is finished.

◆ testsizerequest()

logical function, public matrixgathermodule::testsizerequest ( type(gatherhelper_t), intent(inout)  helper)

Test if a request for the size of the matrices is complete.

Parameters
[in]helperthe gatherer helper structure.
Returns
request_completed true if the request is finished.