NewMadeleine

Documentation

« back to PM2 home.
nm_mpi_request_s Struct Reference

Internal communication request. More...

#include <nm_mpi_private.h>

Collaboration diagram for nm_mpi_request_s:

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_sp_datatype
 type of the exchanged data
 
struct nm_mpi_datatype_sp_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_tp_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: