Arax
-8d09c51940345c86062e8ef2427c705ae66e5926
A Runtime Framework for Decoupling Applications from Heterogeneous Accelerators
Loading...
Searching...
No Matches
arax_types.h
Go to the documentation of this file.
1
#ifndef ARAX_TALK_TYPES_HEADER
2
#define ARAX_TALK_TYPES_HEADER
3
#include <sys/time.h>
4
#include <time.h>
5
9
typedef
void
arax_accel
;
10
14
typedef
void
arax_proc
;
15
19
typedef
struct
arax_pipe
arax_pipe_s
;
20
24
typedef
struct
arax_accel_stats
25
{
26
// This padp is necessary as empty struct have sizeof == 1 in C++, but 0 in C
27
#ifndef __cplusplus
28
char
padd
;
29
#endif
30
}
arax_accel_stats_s
;
31
32
typedef
struct
utils_timer_s
33
{
34
struct
timespec
start
;
35
struct
timespec
stop
;
36
}
utils_timer_s
;
37
41
typedef
enum
arax_accel_state
42
{
43
accel_failed
,
44
accel_idle
,
45
accel_busy
46
}
arax_accel_state_e
;
47
51
typedef
void
arax_task
;
52
56
typedef
void
arax_data
;
57
61
typedef
enum
arax_task_state_e
62
{
63
task_failed
,
64
task_issued
,
65
task_completed
66
}
arax_task_state_e
;
67
71
typedef
struct
arax_task_stats
72
{
73
int
usedSlots
;
74
utils_timer_s
task_duration_without_issue
;
75
utils_timer_s
task_duration
;
76
}
arax_task_stats_s
;
77
82
typedef
enum
arax_accel_type
83
{
84
ANY
= 0,
85
GPU
= 1,
86
GPU_SOFT
= 2,
87
CPU
= 3,
88
SDA
= 4,
89
NANO_ARM
= 5,
90
NANO_CORE
= 6,
91
OPEN_CL
= 7,
92
HIP
= 8,
93
ARAX_ACCEL_TYPES
94
}
arax_accel_type_e
;
95
96
typedef
struct
arch_alloc_s
arch_alloc_s
;
97
98
typedef
struct
arch_alloc_s
arch_alloc_s
;
99
100
typedef
struct
async_meta_s
async_meta_s
;
101
102
typedef
void
*
arax_buffer_s
;
103
108
typedef
arax_task_state_e
(
AraxFunctor
)(
arax_task
*);
109
110
#endif
// ifndef ARAX_TALK_TYPES_HEADER
arax_pipe_s
struct arax_pipe arax_pipe_s
AraxFunctor
arax_task_state_e AraxFunctor(arax_task *)
Definition
arax_types.h:108
arax_task
void arax_task
Definition
arax_types.h:51
arax_accel_state_e
enum arax_accel_state arax_accel_state_e
arax_accel
void arax_accel
Definition
arax_types.h:9
arax_accel_type_e
enum arax_accel_type arax_accel_type_e
arax_proc
void arax_proc
Definition
arax_types.h:14
arax_task_stats_s
struct arax_task_stats arax_task_stats_s
arax_accel_type
arax_accel_type
Definition
arax_types.h:83
CPU
@ CPU
Definition
arax_types.h:87
GPU_SOFT
@ GPU_SOFT
Definition
arax_types.h:86
OPEN_CL
@ OPEN_CL
Definition
arax_types.h:91
HIP
@ HIP
Definition
arax_types.h:92
ARAX_ACCEL_TYPES
@ ARAX_ACCEL_TYPES
Definition
arax_types.h:93
NANO_ARM
@ NANO_ARM
Definition
arax_types.h:89
GPU
@ GPU
Definition
arax_types.h:85
ANY
@ ANY
Definition
arax_types.h:84
NANO_CORE
@ NANO_CORE
Definition
arax_types.h:90
SDA
@ SDA
Definition
arax_types.h:88
arax_task_state_e
arax_task_state_e
Definition
arax_types.h:62
task_issued
@ task_issued
Definition
arax_types.h:64
task_completed
@ task_completed
Definition
arax_types.h:65
task_failed
@ task_failed
Definition
arax_types.h:63
arax_accel_stats_s
struct arax_accel_stats arax_accel_stats_s
arax_accel_state
arax_accel_state
Definition
arax_types.h:42
accel_failed
@ accel_failed
Definition
arax_types.h:43
accel_busy
@ accel_busy
Definition
arax_types.h:45
accel_idle
@ accel_idle
Definition
arax_types.h:44
arax_buffer_s
void * arax_buffer_s
Definition
arax_types.h:102
arax_data
void arax_data
Definition
arax_types.h:56
arch_alloc_s
Definition
alloc.h:18
async_meta_s
Definition
ivshmem/async.h:11
arax_pipe
Definition
arax_pipe.h:25
arax_accel_stats
Definition
arax_types.h:25
arax_accel_stats::padd
char padd
Definition
arax_types.h:28
utils_timer_s
Definition
arax_types.h:33
utils_timer_s::stop
struct timespec stop
Definition
arax_types.h:35
utils_timer_s::start
struct timespec start
Definition
arax_types.h:34
arax_task_stats
Definition
arax_types.h:72
arax_task_stats::task_duration
utils_timer_s task_duration
Definition
arax_types.h:75
arax_task_stats::task_duration_without_issue
utils_timer_s task_duration_without_issue
Definition
arax_types.h:74
arax_task_stats::usedSlots
int usedSlots
Definition
arax_types.h:73
include
arax_types.h
Generated by
1.13.2