StarPU Handbook
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
starpu_task.h File Reference
#include <starpu.h>
#include <starpu_data.h>
#include <starpu_util.h>
#include <starpu_task_bundle.h>
#include <errno.h>
#include <cuda.h>

Go to the source code of this file.

Data Structures

struct  starpu_codelet
struct  starpu_task

Macros

#define STARPU_NOWHERE
#define STARPU_CPU
#define STARPU_CUDA
#define STARPU_OPENCL
#define STARPU_TASK_INVALID
#define STARPU_MULTIPLE_CPU_IMPLEMENTATIONS
#define STARPU_MULTIPLE_CUDA_IMPLEMENTATIONS
#define STARPU_MULTIPLE_OPENCL_IMPLEMENTATIONS
#define STARPU_TASK_INITIALIZER
#define STARPU_TASK_GET_HANDLE(task, i)
#define STARPU_TASK_SET_HANDLE(task, handle, i)
#define STARPU_CODELET_GET_MODE(codelet, i)
#define STARPU_CODELET_SET_MODE(codelet, mode, i)
#define STARPU_CODELET_GET_NODE(codelet, i)
#define STARPU_CODELET_SET_NODE(codelet, __node, i)

Typedefs

typedef uint64_t starpu_tag_t
typedef void(* starpu_cpu_func_t )(void **, void *)
typedef void(* starpu_cuda_func_t )(void **, void *)
typedef void(* starpu_opencl_func_t )(void **, void *)

Enumerations

enum  starpu_codelet_type { STARPU_SEQ, STARPU_SPMD, STARPU_FORKJOIN }
enum  starpu_task_status {
  STARPU_TASK_INVALID, STARPU_TASK_INVALID, STARPU_TASK_BLOCKED, STARPU_TASK_READY,
  STARPU_TASK_RUNNING, STARPU_TASK_FINISHED, STARPU_TASK_BLOCKED_ON_TAG, STARPU_TASK_BLOCKED_ON_TASK,
  STARPU_TASK_BLOCKED_ON_DATA
}

Functions

void starpu_tag_declare_deps (starpu_tag_t id, unsigned ndeps,...)
void starpu_tag_declare_deps_array (starpu_tag_t id, unsigned ndeps, starpu_tag_t *array)
void starpu_task_declare_deps_array (struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[])
int starpu_tag_wait (starpu_tag_t id)
int starpu_tag_wait_array (unsigned ntags, starpu_tag_t *id)
void starpu_tag_notify_from_apps (starpu_tag_t id)
void starpu_tag_restart (starpu_tag_t id)
void starpu_tag_remove (starpu_tag_t id)
void starpu_task_init (struct starpu_task *task)
void starpu_task_clean (struct starpu_task *task)
struct starpu_taskstarpu_task_create (void)
void starpu_task_destroy (struct starpu_task *task)
int starpu_task_submit (struct starpu_task *task) STARPU_WARN_UNUSED_RESULT
int starpu_task_submit_to_ctx (struct starpu_task *task, unsigned sched_ctx_id)
int starpu_task_wait (struct starpu_task *task) STARPU_WARN_UNUSED_RESULT
int starpu_task_wait_for_all (void)
int starpu_task_wait_for_n_submitted (unsigned n)
int starpu_task_wait_for_all_in_ctx (unsigned sched_ctx_id)
int starpu_task_wait_for_n_submitted_in_ctx (unsigned sched_ctx_id, unsigned n)
int starpu_task_wait_for_no_ready (void)
int starpu_task_nready (void)
int starpu_task_nsubmitted (void)
void starpu_codelet_init (struct starpu_codelet *cl)
void starpu_codelet_display_stats (struct starpu_codelet *cl)
struct starpu_taskstarpu_task_get_current (void)
void starpu_parallel_task_barrier_init (struct starpu_task *task, int workerid)
void starpu_parallel_task_barrier_init_n (struct starpu_task *task, int worker_size)
struct starpu_taskstarpu_task_dup (struct starpu_task *task)
void starpu_task_set_implementation (struct starpu_task *task, unsigned impl)
unsigned starpu_task_get_implementation (struct starpu_task *task)

Detailed Description