Arax
-8d09c51940345c86062e8ef2427c705ae66e5926
A Runtime Framework for Decoupling Applications from Heterogeneous Accelerators
Loading...
Searching...
No Matches
arax_task.h
Go to the documentation of this file.
1
#ifndef ARAX_TASK_HEADER
2
#define ARAX_TASK_HEADER
3
#include "
core/arax_proc.h
"
4
#include "async.h"
5
9
typedef
struct
arax_task_msg
10
{
11
arax_object_s
obj
;
12
arax_pipe_s
*
pipe
;
13
arax_accel
*
accel
;
14
arax_proc
*
proc
;
15
size_t
host_size
;
16
int
in_count
;
17
int
out_count
;
18
arax_accel_type_e
type
;
19
arax_task_state_e
state
;
20
arax_task_stats_s
stats
;
21
async_completion_s
done
;
22
arax_data
*
io
[];
23
}
arax_task_msg_s
;
24
25
#ifdef __cplusplus
26
extern
"C"
{
27
#endif
/* ifdef __cplusplus */
28
41
arax_task_msg_s
*
arax_task_alloc
(
arax_pipe_s
*
vpipe
,
arax_accel
*accel,
arax_proc
*proc,
size_t
host_size,
int
ins,
42
arax_data
**dev_in,
int
outs,
arax_data
**dev_out);
43
51
void
*
arax_task_host_data
(
arax_task_msg_s
*task,
size_t
size);
52
53
void
arax_task_submit
(
arax_task_msg_s
*task);
54
55
void
arax_task_wait_done
(
arax_task_msg_s
*msg);
56
57
void
arax_task_mark_done
(
arax_task_msg_s
*msg,
arax_task_state_e
state);
58
#ifdef __cplusplus
59
}
60
#endif
/* ifdef __cplusplus */
61
62
#endif
// ifndef ARAX_TASK_HEADER
arax_pipe_s
struct arax_pipe arax_pipe_s
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_task_state_e
arax_task_state_e
Definition
arax_types.h:62
arax_data
void arax_data
Definition
arax_types.h:56
arax_proc.h
arax_task_wait_done
void arax_task_wait_done(arax_task_msg_s *msg)
Definition
arax_task.c:77
arax_task_alloc
arax_task_msg_s * arax_task_alloc(arax_pipe_s *vpipe, arax_accel *accel, arax_proc *proc, size_t host_size, int ins, arax_data **dev_in, int outs, arax_data **dev_out)
Definition
arax_task.c:7
arax_task_mark_done
void arax_task_mark_done(arax_task_msg_s *msg, arax_task_state_e state)
Definition
arax_task.c:83
arax_task_msg_s
struct arax_task_msg arax_task_msg_s
arax_task_host_data
void * arax_task_host_data(arax_task_msg_s *task, size_t size)
Definition
arax_task.c:51
arax_task_submit
void arax_task_submit(arax_task_msg_s *task)
Definition
arax_task.c:64
vpipe
arax_pipe_s * vpipe
Definition
impl.c:17
async_completion_s
Definition
ivshmem/async.h:21
arax_object_s
Definition
arax_object.h:41
arax_task_msg
Definition
arax_task.h:10
arax_task_msg::in_count
int in_count
Definition
arax_task.h:16
arax_task_msg::obj
arax_object_s obj
Definition
arax_task.h:11
arax_task_msg::state
arax_task_state_e state
Definition
arax_task.h:19
arax_task_msg::accel
arax_accel * accel
Definition
arax_task.h:13
arax_task_msg::pipe
arax_pipe_s * pipe
Definition
arax_task.h:12
arax_task_msg::io
arax_data * io[]
Definition
arax_task.h:22
arax_task_msg::type
arax_accel_type_e type
Definition
arax_task.h:18
arax_task_msg::done
async_completion_s done
Definition
arax_task.h:21
arax_task_msg::proc
arax_proc * proc
Definition
arax_task.h:14
arax_task_msg::out_count
int out_count
Definition
arax_task.h:17
arax_task_msg::host_size
size_t host_size
Definition
arax_task.h:15
arax_task_msg::stats
arax_task_stats_s stats
Definition
arax_task.h:20
src
core
arax_task.h
Generated by
1.13.2