MPI_Grequest_start(3)
MPI_Grequest_start - Create new generalized request
As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.
NAME MPI_Grequest_start - Create new generalized request SYNOPSIS C: #include <mpi.h> typedef MPI_Grequest_query_function(void *extra_state, MPI_Status *status); typedef MPI_Grequest_free_function(void *extra_state); typedef MPI_Grequest_cancel_function(void *extra_state, int complete); int MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request); MPI_Grequest_query_function *query_fn; MPI_Grequest_free_function *free_fn; MPI_Grequest_cancel_function *cancel_fn; void *extra_state; MPI_Request *request; C++: (Not currently implemented) #include <mpi.h> typedef int MPI::Grequest::Query_function(void* extra_state, MPI::Status& status); typedef int MPI::Grequest::Free_function(void* extra_state); typedef int MPI::Grequest::Cancel_function(void* extra_state, bool complete); static MPI::Grequest MPI::Grequest::Start( const MPI::Grequest::Query_function query_fn, const MPI::Grequest::Free_function free_fn, const MPI::Grequest::Cancel_function cancel_fn, void *extra_state); Fortran: INCLUDE "mpif.h" (or USE MPI) SUBROUTINE MPI_GREQUEST_START(query_fn, free_fn, cancel_fn, extra_state, request, ierr) EXTERNAL query_fn, free_fn, cancel_fn INTEGER (KIND=MPI_ADDRESS_KIND) extra_state INTEGER request INTEGER ierr END SUBROUTINE GREQUEST_QUERY_FUNCTION(extra_state, status, ierr) INTEGER(KIND=MPI_ADDRESS_KIND) extra_state INTEGER status(MPI_STATUS_SIZE), ierr END SUBROUTINE GREQUEST_FREE_FUNCTION(extra_state, ierr) INTEGER(KIND=MPI_ADDRESS_KIND) extra_state INTEGER ierr END SUBROUTINE GREQUEST_CANCEL_FUNCTION(extra_state, complete, ierr) INTEGER(KIND=MPI_ADDRESS_KIND) extra_state LOGICAL complete INTEGER ierr END STANDARDS This release implements the MPI 2.0 standard, as documented by the MPI Forum in the July 1997 release of MPI: A Message Passing Interface Standard. DESCRIPTION Calling MPI_Grequest_start() creates a new generalized request. This routine accepts the following parameters: query_fn Specifies the user-written callback function invoked when request status is queried. (function) free_fn Specifies the user-written callback function invoked when the request is freed. (function) cancel_fn Specifies the user-written callback function invoked when the request is cancelled. (function) extra_state Specifies a void pointer associated with this request. Each callback function is passed the extra_state value associated with the request on which it is operating. (void pointer) request Returns the newly-created generalized request. (handle) ierr Specifies the error code of the operation. If no error occured, MPI_SUCCESS is returned. (integer) NOTES All MPI routines in Fortran (except for MPI_Wtime(3) and MPI_Wtick(3)) have an additional ierr argument at the end of the argument list. ierr is an integer and has the same meaning as the return value of the routine in C. In Fortran, MPI routines are subroutines and are invoked with the CALL statement. Additionally, in Fortran, all MPI objects (for example, MPI_Datatype and MPI_Comm) are of type integer. SEE ALSO MPI_Grequest_complete(3), MPI_Status_set_elements(3), MPI_Status_set_cancelled(3)