StarPU Internal Handbook

Macros | Functions
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.