StarPU Internal Handbook
task.h File Reference
#include <starpu.h>
#include <common/config.h>
#include <core/jobs.h>

Go to the source code of this file.

Macros

#define _STARPU_JOB_UNSET
 
#define _STARPU_JOB_SETTING
 
#define _STARPU_TASK_SET_INTERFACE(task, interface, i)
 
#define _STARPU_TASK_GET_INTERFACES(task)
 

Functions

void _starpu_task_destroy (struct starpu_task *task)
 
int _starpu_task_test_termination (struct starpu_task *task)
 
void _starpu_task_init (void)
 
void _starpu_task_deinit (void)
 
void _starpu_set_current_task (struct starpu_task *task)
 
int _starpu_submit_job (struct _starpu_job *j)
 
int _starpu_task_submit_nodeps (struct starpu_task *task)
 
void _starpu_task_declare_deps_array (struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[], int check)
 
struct _starpu_job_starpu_get_job_associated_to_task_slow (struct starpu_task *task, struct _starpu_job *job)
 
static struct _starpu_job_starpu_get_job_associated_to_task (struct starpu_task *task)
 
int _starpu_task_submit_internally (struct starpu_task *task)
 
int _starpu_handle_needs_conversion_task (starpu_data_handle_t handle, unsigned int node)
 
int _starpu_handle_needs_conversion_task_for_arch (starpu_data_handle_t handle, enum starpu_node_kind node_kind)
 
void _starpu_task_prepare_for_continuation_ext (unsigned continuation_resubmit, void(*continuation_callback_on_sleep)(void *arg), void *continuation_callback_on_sleep_arg)
 
void _starpu_task_prepare_for_continuation (void)
 
void _starpu_task_set_omp_cleanup_callback (struct starpu_task *task, void(*omp_cleanup_callback)(void *arg), void *omp_cleanup_callback_arg)
 
int _starpu_task_uses_multiformat_handles (struct starpu_task *task)
 
int _starpu_task_submit_conversion_task (struct starpu_task *task, unsigned int workerid)
 
void _starpu_task_check_deprecated_fields (struct starpu_task *task)
 
void _starpu_codelet_check_deprecated_fields (struct starpu_codelet *cl)
 
static starpu_cpu_func_t _starpu_task_get_cpu_nth_implementation (struct starpu_codelet *cl, unsigned nimpl)
 
static starpu_cuda_func_t _starpu_task_get_cuda_nth_implementation (struct starpu_codelet *cl, unsigned nimpl)
 
static starpu_opencl_func_t _starpu_task_get_opencl_nth_implementation (struct starpu_codelet *cl, unsigned nimpl)
 
static starpu_mic_func_t _starpu_task_get_mic_nth_implementation (struct starpu_codelet *cl, unsigned nimpl)
 
static starpu_mpi_ms_func_t _starpu_task_get_mpi_ms_nth_implementation (struct starpu_codelet *cl, unsigned nimpl)
 
static const char * _starpu_task_get_cpu_name_nth_implementation (struct starpu_codelet *cl, unsigned nimpl)
 
void _starpu_watchdog_init (void)
 
void _starpu_watchdog_shutdown (void)
 
int _starpu_task_wait_for_all_and_return_nb_waited_tasks (void)
 
int _starpu_task_wait_for_all_in_ctx_and_return_nb_waited_tasks (unsigned sched_ctx)
 

Function Documentation

◆ _starpu_task_destroy()

void _starpu_task_destroy ( struct starpu_task *  task)

Internal version of starpu_task_destroy: don't check task->destroy flag

◆ _starpu_task_test_termination()

int _starpu_task_test_termination ( struct starpu_task *  task)

Test for the termination of the task. Call starpu_task_destroy if required and the task is terminated.

◆ _starpu_task_init()

void _starpu_task_init ( void  )

A pthread key is used to store the task currently executed on the thread. _starpu_task_init initializes this pthread key and _starpu_set_current_task updates its current value.

◆ _starpu_get_job_associated_to_task_slow()

struct _starpu_job* _starpu_get_job_associated_to_task_slow ( struct starpu_task *  task,
struct _starpu_job job 
)

Returns the job structure (which is the internal data structure associated to a task).

◆ _starpu_task_submit_internally()

int _starpu_task_submit_internally ( struct starpu_task *  task)

Submits starpu internal tasks to the initial context

◆ _starpu_task_prepare_for_continuation_ext()

void _starpu_task_prepare_for_continuation_ext ( unsigned  continuation_resubmit,
void(*)(void *arg)  continuation_callback_on_sleep,
void *  continuation_callback_on_sleep_arg 
)

Prepare the current task for accepting new dependencies before becoming a continuation.