StarPU Handbook
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Implicit Data Dependencies

In this section, we describe how StarPU makes it possible to insert implicit task dependencies in order to enforce sequential data consistency. When this data consistency is enabled on a specific data handle, any data access will appear as sequentially consistent from the application. For instance, if the application submits two tasks that access the same piece of data in read-only mode, and then a third task that access it in write mode, dependencies will be added between the two first tasks and the third one. Implicit data dependencies are also inserted in the case of data accesses from the application. More...

Functions

void starpu_data_set_default_sequential_consistency_flag (unsigned flag)
unsigned starpu_data_get_default_sequential_consistency_flag (void)
void starpu_data_set_sequential_consistency_flag (starpu_data_handle_t handle, unsigned flag)
unsigned starpu_data_get_sequential_consistency_flag (starpu_data_handle_t handle)

Detailed Description

In this section, we describe how StarPU makes it possible to insert implicit task dependencies in order to enforce sequential data consistency. When this data consistency is enabled on a specific data handle, any data access will appear as sequentially consistent from the application. For instance, if the application submits two tasks that access the same piece of data in read-only mode, and then a third task that access it in write mode, dependencies will be added between the two first tasks and the third one. Implicit data dependencies are also inserted in the case of data accesses from the application.

Function Documentation

void starpu_data_set_default_sequential_consistency_flag ( unsigned  flag)

Set the default sequential consistency flag. If a non-zero value is passed, a sequential data consistency will be enforced for all handles registered after this function call, otherwise it is disabled. By default, StarPU enables sequential data consistency. It is also possible to select the data consistency mode of a specific data handle with the function starpu_data_set_sequential_consistency_flag().

unsigned starpu_data_get_default_sequential_consistency_flag ( void  )

Return the default sequential consistency flag

void starpu_data_set_sequential_consistency_flag ( starpu_data_handle_t  handle,
unsigned  flag 
)

Set the data consistency mode associated to a data handle. The consistency mode set using this function has the priority over the default mode which can be set with starpu_data_set_default_sequential_consistency_flag().

unsigned starpu_data_get_sequential_consistency_flag ( starpu_data_handle_t  handle)

Get the data consistency mode associated to the data handle handle