PULSAR  1.0.0
Parallel Ultra Light Systolic Array Runtime
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
prt_request.h
Go to the documentation of this file.
1 
11 #ifndef PRT_REQUEST_H
12 #define PRT_REQUEST_H
13 
14 #include "prt.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 struct prt_packet_s;
21 
27 typedef struct prt_request_s {
29  int count;
30  MPI_Datatype datatype;
31  int peer;
32  int tag;
33  MPI_Request request;
34  MPI_Status status;
36 
38  struct prt_packet_s *packet, int count,
39  MPI_Datatype datatype, int peer, int tag);
40 void prt_request_destroy(prt_request_t *request);
41 void prt_request_send(prt_request_t *request);
42 void prt_request_recv(prt_request_t *request);
43 int prt_request_test(prt_request_t *request);
44 void prt_request_cancel(prt_request_t *request);
45 
46 #ifdef __cplusplus
47 }
48 #endif
49 
50 #endif /* PRT_REQUEST_H */
MPI_Datatype datatype
Definition: prt_request.h:30
MPI_Status status
Definition: prt_request.h:34
void prt_request_send(prt_request_t *request)
Post a send request. Detects a possible overflow of the request size.
Definition: prt_request.c:61
MPI_Request request
Definition: prt_request.h:33
void prt_request_cancel(prt_request_t *request)
Cancel a request. Cancel the request, release the packet, free the request object.
Definition: prt_request.c:151
VDP's data packet A packet of data transferred through VDP's channels.
Definition: prt_packet.h:24
prt_request_t * prt_request_new(prt_packet_t *packet, int count, MPI_Datatype datatype, int peer, int tag)
request constructor
Definition: prt_request.c:25
int prt_request_test(prt_request_t *request)
Test a request. Trace only completed requests.
Definition: prt_request.c:128
struct prt_packet_s * packet
Definition: prt_request.h:28
struct prt_request_s prt_request_t
VSA proxy's communication request Contains basic information about the communication request...
void prt_request_destroy(prt_request_t *request)
request destructor Request is only an envelope for a packet. Request destruction does not affect the ...
Definition: prt_request.c:48
void prt_request_recv(prt_request_t *request)
Post a receive request. Detects a possible overflow of the request size.
Definition: prt_request.c:93
VSA proxy's communication request Contains basic information about the communication request...
Definition: prt_request.h:27