StarPU Handbook - StarPU Installation
|
#include <starpu.h>
Go to the source code of this file.
Typedefs | |
typedef struct _starpu_data_state * | starpu_data_handle_t |
typedef struct starpu_arbiter * | starpu_arbiter_t |
Enumerations | |
enum | starpu_data_access_mode { STARPU_NONE , STARPU_R , STARPU_W , STARPU_RW , STARPU_SCRATCH , STARPU_REDUX , STARPU_COMMUTE , STARPU_SSEND , STARPU_LOCALITY , STARPU_MPI_REDUX , STARPU_NOPLAN , STARPU_UNMAP , STARPU_NOFOOTPRINT , STARPU_ACCESS_MODE_MAX } |
enum | starpu_is_prefetch { STARPU_FETCH , STARPU_TASK_PREFETCH , STARPU_PREFETCH , STARPU_IDLEFETCH , STARPU_NFETCH } |
Functions | |
void | starpu_data_set_name (starpu_data_handle_t handle, const char *name) |
void | starpu_data_set_coordinates_array (starpu_data_handle_t handle, unsigned dimensions, int dims[]) |
void | starpu_data_set_coordinates (starpu_data_handle_t handle, unsigned dimensions,...) |
unsigned | starpu_data_get_coordinates_array (starpu_data_handle_t handle, unsigned dimensions, int dims[]) |
void | starpu_data_unregister (starpu_data_handle_t handle) |
void | starpu_data_unregister_no_coherency (starpu_data_handle_t handle) |
void | starpu_data_unregister_submit (starpu_data_handle_t handle) |
void | starpu_data_invalidate (starpu_data_handle_t handle) |
void | starpu_data_invalidate_submit (starpu_data_handle_t handle) |
void | starpu_data_advise_as_important (starpu_data_handle_t handle, unsigned is_important) |
starpu_arbiter_t | starpu_arbiter_create (void) STARPU_ATTRIBUTE_MALLOC |
void | starpu_data_assign_arbiter (starpu_data_handle_t handle, starpu_arbiter_t arbiter) |
void | starpu_arbiter_destroy (starpu_arbiter_t arbiter) |
int | starpu_data_request_allocation (starpu_data_handle_t handle, unsigned node) |
int | starpu_data_fetch_on_node (starpu_data_handle_t handle, unsigned node, unsigned async) |
int | starpu_data_prefetch_on_node (starpu_data_handle_t handle, unsigned node, unsigned async) |
int | starpu_data_prefetch_on_node_prio (starpu_data_handle_t handle, unsigned node, unsigned async, int prio) |
int | starpu_data_idle_prefetch_on_node (starpu_data_handle_t handle, unsigned node, unsigned async) |
int | starpu_data_idle_prefetch_on_node_prio (starpu_data_handle_t handle, unsigned node, unsigned async, int prio) |
unsigned | starpu_data_is_on_node (starpu_data_handle_t handle, unsigned node) |
void | starpu_data_wont_use (starpu_data_handle_t handle) |
int | starpu_data_evict_from_node (starpu_data_handle_t handle, unsigned node) |
void | starpu_data_set_wt_mask (starpu_data_handle_t handle, uint32_t wt_mask) |
void | starpu_data_set_ooc_flag (starpu_data_handle_t handle, unsigned flag) |
unsigned | starpu_data_get_ooc_flag (starpu_data_handle_t handle) |
void | starpu_data_query_status2 (starpu_data_handle_t handle, int memory_node, int *is_allocated, int *is_valid, int *is_loading, int *is_requested) |
void | starpu_data_query_status (starpu_data_handle_t handle, int memory_node, int *is_allocated, int *is_valid, int *is_requested) |
void | starpu_data_set_reduction_methods (starpu_data_handle_t handle, struct starpu_codelet *redux_cl, struct starpu_codelet *init_cl) |
void | starpu_data_set_reduction_methods_with_args (starpu_data_handle_t handle, struct starpu_codelet *redux_cl, void *redux_cl_arg, struct starpu_codelet *init_cl, void *init_cl_arg) |
struct starpu_data_interface_ops * | starpu_data_get_interface_ops (starpu_data_handle_t handle) |
unsigned | starpu_data_test_if_allocated_on_node (starpu_data_handle_t handle, unsigned memory_node) |
unsigned | starpu_data_test_if_mapped_on_node (starpu_data_handle_t handle, unsigned memory_node) |
void | starpu_memchunk_tidy (unsigned memory_node) |
void | starpu_data_set_user_data (starpu_data_handle_t handle, void *user_data) |
void * | starpu_data_get_user_data (starpu_data_handle_t handle) |
void | starpu_data_set_sched_data (starpu_data_handle_t handle, void *sched_data) |
void * | starpu_data_get_sched_data (starpu_data_handle_t handle) |
int | starpu_data_can_evict (starpu_data_handle_t handle, unsigned node, enum starpu_is_prefetch is_prefetch) |
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. | |
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) |
unsigned | starpu_data_get_default_sequential_consistency_flag (void) |
void | starpu_data_set_default_sequential_consistency_flag (unsigned flag) |