StarPU Handbook
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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_CPU
 
#define STARPU_CUDA
 
#define STARPU_OPENCL
 
#define STARPU_MIC
 
#define STARPU_SCC
 
#define STARPU_CUDA_ASYNC
 
#define STARPU_OPENCL_ASYNC
 
#define STARPU_TASK_INVALID
 
#define STARPU_MULTIPLE_CPU_IMPLEMENTATIONS
 
#define STARPU_MULTIPLE_CUDA_IMPLEMENTATIONS
 
#define STARPU_MULTIPLE_OPENCL_IMPLEMENTATIONS
 
#define STARPU_VARIABLE_NBUFFERS
 
#define STARPU_TASK_INITIALIZER
 
#define STARPU_TASK_GET_NBUFFERS(task)
 
#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_TASK_GET_MODE(task, i)
 
#define STARPU_TASK_SET_MODE(task, 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 *)
 
typedef void(* starpu_mic_kernel_t )(void **, void *)
 
typedef void(* starpu_scc_kernel_t )(void **, void *)
 
typedef starpu_mic_kernel_t(* starpu_mic_func_t )(void)
 
typedef starpu_scc_kernel_t(* starpu_scc_func_t )(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, STARPU_TASK_STOPPED
}
 

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_finished (struct starpu_task *task) STARPU_WARN_UNUSED_RESULT
 
int starpu_task_wait (struct starpu_task *task) STARPU_WARN_UNUSED_RESULT
 
int starpu_task_wait_for_all (void)
 
int starpu_task_wait_for_all_in_ctx (unsigned sched_ctx_id)
 
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)
 

Macro Definition Documentation

#define STARPU_CUDA_ASYNC

Value to be set in starpu_codelet::cuda_flags to allow asynchronous CUDA kernel execution.

#define STARPU_OPENCL_ASYNC

Value to be set in starpu_codelet::opencl_flags to allow asynchronous OpenCL kernel execution.