Internal communication request. More...
#include <nm_mpi_private.h>

Public Member Functions | |
| PUK_LIST_LINK (nm_mpi_request) | |
| Link for nm_mpi_reqlist_t lists. | |
Data Fields | ||
| MPI_Request | id | |
| identifier of the request | ||
| nm_sr_request_t | request_nmad | |
| nmad request for sendrecv interface | ||
| nm_mpi_request_type_t | request_type | |
| type of the request | ||
| nm_mpi_status_t | status | |
| status of request | ||
| int | user_tag | |
| tag given by the user | ||
| int | request_source | |
| rank of the source node (used for incoming request) | ||
| int | request_error | |
| error status of the request, using MPI error codes | ||
| struct nm_mpi_datatype_s * | p_datatype | |
| type of the exchanged data | ||
| struct nm_mpi_datatype_s * | p_datatype2 | |
| second datatype for collectives that need different types for send & recv; used only for ref counting | ||
| nm_gate_t | gate | |
| gate of the destination or the source node | ||
| nm_mpi_communicator_t * | p_comm | |
| communicator used for communication | ||
| nm_mpi_count_t | count | |
| number of elements to be exchanged | ||
| union { | ||
| void * rbuf | ||
| pointer used for receiving More... | ||
| const void * sbuf | ||
| pointer for sending More... | ||
| char static_buf [64] | ||
| static buffer of max predefined datatype size More... | ||
| struct nm_mpi_file_op_s * p_file_op | ||
| MPI-IO operation. More... | ||
| struct nm_mpi_grequest_s * p_grequest | ||
| generalized request More... | ||
| }; | ||
| pointer to the data to be exchanged | ||
| union { | ||
| struct { | ||
| struct nm_coll_req_s * p_coll_req | ||
| non-blocking nmad native collective More... | ||
| union { | ||
| struct { | ||
| int root | ||
| } bcast | ||
| struct { | ||
| int root | ||
| const void * sendbuf | ||
| void * recvbuf | ||
| struct nm_mpi_operator_s * p_op | ||
| } reduce | ||
| struct { | ||
| const void * sendbuf | ||
| void * recvbuf | ||
| struct nm_mpi_operator_s * p_op | ||
| } allreduce | ||
| struct { | ||
| int root | ||
| struct nm_data_s * p_send_data | ||
| struct nm_data_s send_data | ||
| struct nm_data_s * p_recv_data | ||
| struct nm_data_s recv_data | ||
| } scatter | ||
| struct { | ||
| int root | ||
| struct nm_data_s * p_send_data | ||
| struct nm_data_s send_data | ||
| struct nm_data_s * p_recv_data | ||
| struct nm_data_s recv_data | ||
| } gather | ||
| struct { | ||
| const void * sendbuf | ||
| void * recvbuf | ||
| nm_mpi_count_t sendcount | ||
| nm_mpi_count_t recvcount | ||
| struct nm_mpi_datatype_s * p_sendtype | ||
| struct nm_mpi_datatype_s * p_recvtype | ||
| } allgather | ||
| struct { | ||
| const void * sendbuf | ||
| void * recvbuf | ||
| nm_mpi_count_t sendcount | ||
| nm_mpi_count_t recvcount | ||
| struct nm_mpi_datatype_s * p_sendtype | ||
| struct nm_mpi_datatype_s * p_recvtype | ||
| } alltoall | ||
| struct { | ||
| const void * sendbuf | ||
| nm_mpi_count_t * p_sendcounts | ||
| nm_mpi_aint_t * p_sdispls | ||
| struct nm_mpi_datatype_s * p_sendtype | ||
| void * recvbuf | ||
| nm_mpi_count_t * p_recvcounts | ||
| nm_mpi_aint_t * p_rdispls | ||
| struct nm_mpi_datatype_s * p_recvtype | ||
| } alltoallv | ||
| } | ||
| } collective | ||
| struct { | ||
| int partitions | ||
| number of partitions More... | ||
| } partitioned | ||
| struct nm_mpi_grequest_s { | ||
| MPI_Grequest_query_function * query_fn | ||
| MPI_Grequest_free_function * free_fn | ||
| MPI_Grequest_cancel_function * cancel_fn | ||
| void * extra_state | ||
| nm_cond_status_t completed | ||
| set to NM_STATUS_FINALIZED when user signals completion More... | ||
| } grequest | ||
| struct { | ||
| nm_mpi_win_epoch_t * p_epoch | ||
| corresponding epoch management structure for rma operations More... | ||
| nm_mpi_window_t * p_win | ||
| corresponding rma window More... | ||
| } rma | ||
| fields for send/recv requests created by the RMA operations More... | ||
| }; | ||
| variable fields depending on request type | ||
Detailed Description
Internal communication request.
Definition at line 417 of file nm_mpi_private.h.
Member Function Documentation
◆ PUK_LIST_LINK()
| nm_mpi_request_s::PUK_LIST_LINK | ( | nm_mpi_request | ) |
Link for nm_mpi_reqlist_t lists.
Field Documentation
◆ [union]
| union { ... } nm_mpi_request_s |
pointer to the data to be exchanged
◆ [union]
| union { ... } nm_mpi_request_s |
variable fields depending on request type
◆ [struct]
| struct { ... } nm_mpi_request_s::allgather |
◆ [struct]
| struct { ... } nm_mpi_request_s::allreduce |
◆ [struct]
| struct { ... } nm_mpi_request_s::alltoall |
◆ [struct]
| struct { ... } nm_mpi_request_s::alltoallv |
◆ [struct]
| struct { ... } nm_mpi_request_s::bcast |
◆ cancel_fn
| MPI_Grequest_cancel_function* nm_mpi_request_s::cancel_fn |
Definition at line 524 of file nm_mpi_private.h.
◆ [struct]
| struct { ... } nm_mpi_request_s::collective |
◆ completed
| nm_cond_status_t nm_mpi_request_s::completed |
set to NM_STATUS_FINALIZED when user signals completion
Definition at line 526 of file nm_mpi_private.h.
◆ count
| nm_mpi_count_t nm_mpi_request_s::count |
number of elements to be exchanged
Definition at line 442 of file nm_mpi_private.h.
◆ extra_state
| void* nm_mpi_request_s::extra_state |
Definition at line 525 of file nm_mpi_private.h.
◆ free_fn
| MPI_Grequest_free_function* nm_mpi_request_s::free_fn |
Definition at line 523 of file nm_mpi_private.h.
◆ gate
| nm_gate_t nm_mpi_request_s::gate |
gate of the destination or the source node
Definition at line 438 of file nm_mpi_private.h.
◆ [struct]
| struct { ... } nm_mpi_request_s::gather |
◆ [struct]
| struct { ... } ::nm_mpi_grequest_s nm_mpi_request_s::grequest |
◆ id
| MPI_Request nm_mpi_request_s::id |
identifier of the request
Definition at line 420 of file nm_mpi_private.h.
◆ p_coll_req
| struct nm_coll_req_s* nm_mpi_request_s::p_coll_req |
non-blocking nmad native collective
Definition at line 457 of file nm_mpi_private.h.
◆ p_comm
| nm_mpi_communicator_t* nm_mpi_request_s::p_comm |
communicator used for communication
Definition at line 440 of file nm_mpi_private.h.
◆ p_datatype
| struct nm_mpi_datatype_s* nm_mpi_request_s::p_datatype |
type of the exchanged data
Definition at line 434 of file nm_mpi_private.h.
◆ p_datatype2
| struct nm_mpi_datatype_s* nm_mpi_request_s::p_datatype2 |
second datatype for collectives that need different types for send & recv; used only for ref counting
Definition at line 436 of file nm_mpi_private.h.
◆ p_epoch
| nm_mpi_win_epoch_t* nm_mpi_request_s::p_epoch |
corresponding epoch management structure for rma operations
Definition at line 530 of file nm_mpi_private.h.
◆ p_file_op
| struct nm_mpi_file_op_s* nm_mpi_request_s::p_file_op |
MPI-IO operation.
Definition at line 449 of file nm_mpi_private.h.
◆ p_grequest
| struct nm_mpi_grequest_s* nm_mpi_request_s::p_grequest |
generalized request
Definition at line 450 of file nm_mpi_private.h.
◆ p_op
| struct nm_mpi_operator_s* nm_mpi_request_s::p_op |
Definition at line 469 of file nm_mpi_private.h.
◆ p_rdispls
| nm_mpi_aint_t* nm_mpi_request_s::p_rdispls |
Definition at line 511 of file nm_mpi_private.h.
◆ p_recv_data
| struct nm_data_s* nm_mpi_request_s::p_recv_data |
Definition at line 481 of file nm_mpi_private.h.
◆ p_recvcounts
| nm_mpi_count_t* nm_mpi_request_s::p_recvcounts |
Definition at line 510 of file nm_mpi_private.h.
◆ p_recvtype
| struct nm_mpi_datatype_s* nm_mpi_request_s::p_recvtype |
Definition at line 494 of file nm_mpi_private.h.
◆ p_sdispls
| nm_mpi_aint_t* nm_mpi_request_s::p_sdispls |
Definition at line 507 of file nm_mpi_private.h.
◆ p_send_data
| struct nm_data_s* nm_mpi_request_s::p_send_data |
Definition at line 480 of file nm_mpi_private.h.
◆ p_sendcounts
| nm_mpi_count_t* nm_mpi_request_s::p_sendcounts |
Definition at line 506 of file nm_mpi_private.h.
◆ p_sendtype
| struct nm_mpi_datatype_s* nm_mpi_request_s::p_sendtype |
Definition at line 494 of file nm_mpi_private.h.
◆ p_win
| nm_mpi_window_t* nm_mpi_request_s::p_win |
corresponding rma window
Definition at line 531 of file nm_mpi_private.h.
◆ [struct]
| struct { ... } nm_mpi_request_s::partitioned |
◆ partitions
| int nm_mpi_request_s::partitions |
number of partitions
Definition at line 518 of file nm_mpi_private.h.
◆ query_fn
| MPI_Grequest_query_function* nm_mpi_request_s::query_fn |
Definition at line 522 of file nm_mpi_private.h.
◆ rbuf
| void* nm_mpi_request_s::rbuf |
pointer used for receiving
Definition at line 446 of file nm_mpi_private.h.
◆ recv_data
| struct nm_data_s nm_mpi_request_s::recv_data |
Definition at line 481 of file nm_mpi_private.h.
◆ recvbuf
| void* nm_mpi_request_s::recvbuf |
Definition at line 468 of file nm_mpi_private.h.
◆ recvcount
| nm_mpi_count_t nm_mpi_request_s::recvcount |
Definition at line 493 of file nm_mpi_private.h.
◆ [struct]
| struct { ... } nm_mpi_request_s::reduce |
◆ request_error
| int nm_mpi_request_s::request_error |
error status of the request, using MPI error codes
Definition at line 432 of file nm_mpi_private.h.
◆ request_nmad
| nm_sr_request_t nm_mpi_request_s::request_nmad |
nmad request for sendrecv interface
Definition at line 422 of file nm_mpi_private.h.
◆ request_source
| int nm_mpi_request_s::request_source |
rank of the source node (used for incoming request)
Definition at line 430 of file nm_mpi_private.h.
◆ request_type
| nm_mpi_request_type_t nm_mpi_request_s::request_type |
type of the request
Definition at line 424 of file nm_mpi_private.h.
◆ [struct]
| struct { ... } nm_mpi_request_s::rma |
fields for send/recv requests created by the RMA operations
◆ root
| int nm_mpi_request_s::root |
Definition at line 462 of file nm_mpi_private.h.
◆ sbuf
| const void* nm_mpi_request_s::sbuf |
pointer for sending
Definition at line 447 of file nm_mpi_private.h.
◆ [struct]
| struct { ... } nm_mpi_request_s::scatter |
◆ send_data
| struct nm_data_s nm_mpi_request_s::send_data |
Definition at line 480 of file nm_mpi_private.h.
◆ sendbuf
| const void* nm_mpi_request_s::sendbuf |
Definition at line 467 of file nm_mpi_private.h.
◆ sendcount
| nm_mpi_count_t nm_mpi_request_s::sendcount |
Definition at line 493 of file nm_mpi_private.h.
◆ static_buf
| char nm_mpi_request_s::static_buf[64] |
static buffer of max predefined datatype size
Definition at line 448 of file nm_mpi_private.h.
◆ status
| nm_mpi_status_t nm_mpi_request_s::status |
status of request
Definition at line 426 of file nm_mpi_private.h.
◆ user_tag
| int nm_mpi_request_s::user_tag |
tag given by the user
Definition at line 428 of file nm_mpi_private.h.
The documentation for this struct was generated from the following file: