Arax -8d09c51940345c86062e8ef2427c705ae66e5926
A Runtime Framework for Decoupling Applications from Heterogeneous Accelerators
Loading...
Searching...
No Matches
arax.h File Reference
#include <stdio.h>
#include <stddef.h>
#include "arax_types.h"
#include <core/arax_accel_types.h>
+ Include dependency graph for arax.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ARAX_HANDLER(FN, ARCH)
 
#define ARAX_HANDLER_EX(FN, ARCH, EX)
 

Functions

arax_pipe_sarax_init ()
 
void arax_exit ()
 
int arax_clean ()
 
int arax_accel_list (arax_accel_type_e type, int physical, arax_accel ***accels)
 
void arax_accel_set_physical (arax_accel *vaccel, arax_accel *phys)
 
void arax_accel_list_free (arax_accel **accels)
 
arax_accel_type_e arax_accel_type (arax_accel *accel)
 
arax_accel_state_e arax_accel_stat (arax_accel *accel, arax_accel_stats_s *stat)
 
int arax_accel_acquire_phys (arax_accel **accel)
 
arax_accelarax_accel_acquire_type (arax_accel_type_e type)
 
void arax_accel_release (arax_accel **accel)
 
arax_procarax_proc_register (const char *func_name)
 
arax_procarax_proc_get (const char *func_name)
 
int arax_proc_put (arax_proc *func)
 
arax_taskarax_task_issue (arax_accel *accel, arax_proc *proc, const void *host_init, size_t host_size, size_t in_count, arax_data **dev_in, size_t out_count, arax_data **dev_out)
 
arax_task_state_e arax_task_issue_sync (arax_accel *accel, arax_proc *proc, void *host_init, size_t host_size, size_t in_count, arax_data **dev_in, size_t out_count, arax_data **dev_out)
 
arax_task_state_e arax_task_stat (arax_task *task, arax_task_stats_s *stats)
 
arax_task_state_e arax_task_wait (arax_task *task)
 
void arax_task_free (arax_task *task)
 
arax_buffer_s ARAX_BUFFER (size_t size)
 

Macro Definition Documentation

◆ ARAX_HANDLER

#define ARAX_HANDLER ( FN,
ARCH )
Value:
extern "C" arax_task_state_e FN ## _ARAX_FN_ ## ARCH(arax_task_msg_s \
* task) __attribute__((section(".ARAX_HANDLERS"))); \
extern "C" arax_task_state_e FN ## _ARAX_FN_ ## ARCH(arax_task_msg_s * task)
arax_task_state_e
Definition arax_types.h:62
struct queue __attribute__((aligned(CONF_CACHE_LINE)))
struct arax_task_msg arax_task_msg_s

Define a handler for a function named FN, for the ARCH architecture.

Definition at line 282 of file arax.h.

◆ ARAX_HANDLER_EX

#define ARAX_HANDLER_EX ( FN,
ARCH,
EX )
Value:
extern "C" arax_task_state_e FN ## _ARAX_FN_ ## ARCH(arax_task_msg_s \
* task, EX) __attribute__((section(".ARAX_HANDLERS"))); \
extern "C" arax_task_state_e FN ## _ARAX_FN_ ## ARCH(arax_task_msg_s * task, EX)

Define a handler for a function named FN, for the ARCH architecture. Extended version allows additional arguements.

Definition at line 291 of file arax.h.