PULSAR  2.0.0
Parallel Ultra-Light Systolic Array Runtime
 All Data Structures Files Functions Typedefs Enumerations Macros Groups
prt.h
Go to the documentation of this file.
1 
15 #ifndef PRT_H
16 #define PRT_H
17 
18 #define _GNU_SOURCE
19 
23 typedef enum prt_location_e {
24  PRT_LOCATION_HOST,
25  PRT_LOCATION_DEVICE
27 
31 typedef enum prt_direction_e {
32  PRT_HOST_TO_DEVICE,
33  PRT_DEVICE_TO_HOST,
34  PRT_DEVICE_TO_DEVICE,
35  PRT_DEVICE_MPI_TO_HOST,
36  PRT_DEVICE_MPI_FROM_HOST,
37  PRT_DEVICE_PACKET_RELEASE
39 
43 typedef struct prt_mapping_s {
44  prt_location_t location;
45  int rank;
47 
48 #include <stdlib.h>
49 #include <stdio.h>
50 #include <assert.h>
51 #include <string.h>
52 #include <stdarg.h>
53 #include <limits.h>
54 #include <malloc.h>
55 #include <sched.h>
56 #include <pthread.h>
57 
58 #ifdef MPI
59  #include <mpi.h>
60 #else
61  #include "mpi_stubs.h"
62 #endif
63 
64 #ifdef CUDA
65  #include <cuda.h>
66  #include <cuda_runtime.h>
67 #else
68  #include "cuda_stubs.h"
69 #endif
70 
71 #include "gpu_malloc.h"
72 #include "icl_list.h"
73 #include "icl_hash.h"
74 #include "icl_deque.h"
75 #include "svg_trace.h"
76 #include "prt_assert.h"
77 #include "prt_tuple.h"
78 #include "prt_packet.h"
79 #include "prt_channel.h"
80 #include "prt_vdp.h"
81 #include "prt_thread.h"
82 #include "prt_device.h"
83 #include "prt_request.h"
84 #include "prt_transfer.h"
85 #include "prt_callback.h"
86 #include "prt_proxy.h"
87 #include "prt_config.h"
88 #include "prt_vsa.h"
89 
90 #ifdef __cplusplus
91 extern "C" {
92 #endif
93 
94 #ifdef __cplusplus
95 }
96 #endif
97 
98 #endif /* PRT_H */