Request type for non-blocking MPI operations
Wraps MPI request handles to provide object-oriented interface for non-blocking communication operations (isend, irecv)
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | private | :: | is_valid | = | .false. |
Validity flag |
|
| integer, | private | :: | m_request | = | MPI_REQUEST_NULL |
Internal MPI request handle (integer) |
Free the request
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(request_t), | intent(inout) | :: | this |
Get underlying MPI request handle
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(request_t), | intent(in) | :: | this |
Check if request is null
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(request_t), | intent(in) | :: | this |
type :: request_t !! Request type for non-blocking MPI operations !! !! Wraps MPI request handles to provide object-oriented interface for !! non-blocking communication operations (isend, irecv) private integer :: m_request = MPI_REQUEST_NULL !! Internal MPI request handle (integer) logical :: is_valid = .false. !! Validity flag contains procedure :: is_null => request_is_null !! Check if request is null procedure :: get => request_get !! Get underlying MPI request handle procedure :: free => request_free !! Free the request end type request_t