PULSAR  2.0.0
Parallel Ultra-Light Systolic Array Runtime
 All Data Structures Files Functions Typedefs Enumerations Macros Groups
prt_callback.h
Go to the documentation of this file.
1 
11 #ifndef PRT_CALLBACK_H
12 #define PRT_CALLBACK_H
13 
14 #include "prt.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
23 typedef struct prt_callback_finish_s {
24  struct prt_packet_s *src_packet; // Source packet.
25  struct prt_packet_s *dst_packet; // Destination packet.
26  struct prt_channel_s *channel; // Destination channel.
28 
32 typedef struct prt_callback_queue_s {
33  struct prt_packet_s *old_packet; // Packet to be released.
34  struct prt_packet_s *src_packet; // Packet to send.
35  struct prt_channel_s *channel;
36  prt_direction_t direction;
37  int agent;
39 
43 typedef struct prt_callback_release_s {
44  struct prt_vdp_s *vdp;
45  struct prt_packet_s *packet;
47 
49  struct prt_packet_s *src_packet,
50  struct prt_packet_s *dst_packet,
51  struct prt_channel_s *channel);
53 void CUDART_CB prt_callback_finish_handler(
54  cudaStream_t stream, cudaError_t status, void *dat);
55 
57  struct prt_packet_s *old_packet,
58  struct prt_packet_s *src_packet,
59  struct prt_channel_s *channel,
60  prt_direction_t direction,
61  int agent);
63 void CUDART_CB prt_callback_queue_handler(
64  cudaStream_t stream, cudaError_t status, void *dat);
65 
67  struct prt_vdp_s *vdp,
68  struct prt_packet_s *packet);
70 void CUDART_CB prt_callback_release_handler(
71  cudaStream_t stream, cudaError_t status, void *clbck);
72 
73 #ifdef __cplusplus
74 }
75 #endif
76 
77 #endif /* PRT_CALLBACK_H */