StarPU Handbook
Task Lists

Data Structures

struct  starpu_task_list
 

Functions

void starpu_task_list_init (struct starpu_task_list *list)
 
void starpu_task_list_push_front (struct starpu_task_list *list, struct starpu_task *task)
 
void starpu_task_list_push_back (struct starpu_task_list *list, struct starpu_task *task)
 
struct starpu_taskstarpu_task_list_front (const struct starpu_task_list *list)
 
struct starpu_taskstarpu_task_list_back (const struct starpu_task_list *list)
 
int starpu_task_list_empty (const struct starpu_task_list *list)
 
void starpu_task_list_erase (struct starpu_task_list *list, struct starpu_task *task)
 
struct starpu_taskstarpu_task_list_pop_front (struct starpu_task_list *list)
 
struct starpu_taskstarpu_task_list_pop_back (struct starpu_task_list *list)
 
struct starpu_taskstarpu_task_list_begin (const struct starpu_task_list *list)
 
struct starpu_taskstarpu_task_list_end (const struct starpu_task_list *list STARPU_ATTRIBUTE_UNUSED)
 
struct starpu_taskstarpu_task_list_next (const struct starpu_task *task)
 
int starpu_task_list_ismember (const struct starpu_task_list *list, const struct starpu_task *look)
 
void starpu_task_list_move (struct starpu_task_list *ldst, struct starpu_task_list *lsrc)
 

Detailed Description


Data Structure Documentation

◆ starpu_task_list

struct starpu_task_list

Store a double-chained list of tasks

Data Fields
struct starpu_task * head

head of the list

struct starpu_task * tail

tail of the list

Function Documentation

◆ starpu_task_list_init()

void starpu_task_list_init ( struct starpu_task_list list)

Initialize a list structure

◆ starpu_task_list_push_front()

void starpu_task_list_push_front ( struct starpu_task_list list,
struct starpu_task task 
)

Push task at the front of list

◆ starpu_task_list_push_back()

void starpu_task_list_push_back ( struct starpu_task_list list,
struct starpu_task task 
)

Push task at the back of list

◆ starpu_task_list_front()

struct starpu_task* starpu_task_list_front ( const struct starpu_task_list list)

Get the front of list (without removing it)

◆ starpu_task_list_back()

struct starpu_task* starpu_task_list_back ( const struct starpu_task_list list)

Get the back of list (without removing it)

◆ starpu_task_list_empty()

int starpu_task_list_empty ( const struct starpu_task_list list)

Test if list is empty

◆ starpu_task_list_erase()

void starpu_task_list_erase ( struct starpu_task_list list,
struct starpu_task task 
)

Remove task from list

◆ starpu_task_list_pop_front()

struct starpu_task* starpu_task_list_pop_front ( struct starpu_task_list list)

Remove the element at the front of list

◆ starpu_task_list_pop_back()

struct starpu_task* starpu_task_list_pop_back ( struct starpu_task_list list)

Remove the element at the back of list

◆ starpu_task_list_begin()

struct starpu_task* starpu_task_list_begin ( const struct starpu_task_list list)

Get the first task of list.

◆ starpu_task_list_end()

struct starpu_task* starpu_task_list_end ( const struct starpu_task_list *list  STARPU_ATTRIBUTE_UNUSED)

Get the end of list.

◆ starpu_task_list_next()

struct starpu_task* starpu_task_list_next ( const struct starpu_task task)

Get the next task of list. This is not erase-safe.

◆ starpu_task_list_ismember()

int starpu_task_list_ismember ( const struct starpu_task_list list,
const struct starpu_task look 
)

Test whether the given task look is contained in the list.