StarPU Handbook - StarPU Extensions
Loading...
Searching...
No Matches
starpu_data_filters.h File Reference
#include <starpu.h>
#include <stdarg.h>

Go to the source code of this file.

Data Structures

struct  starpu_data_filter
 

Functions

Basic API
void starpu_data_partition (starpu_data_handle_t initial_handle, struct starpu_data_filter *f)
 
void starpu_data_unpartition (starpu_data_handle_t root_data, unsigned gathering_node)
 
starpu_data_handle_t starpu_data_get_child (starpu_data_handle_t handle, unsigned i)
 
int starpu_data_get_nb_children (starpu_data_handle_t handle)
 
starpu_data_handle_t starpu_data_get_sub_data (starpu_data_handle_t root_data, unsigned depth,...)
 
starpu_data_handle_t starpu_data_vget_sub_data (starpu_data_handle_t root_data, unsigned depth, va_list pa)
 
void starpu_data_map_filters (starpu_data_handle_t root_data, unsigned nfilters,...)
 
void starpu_data_vmap_filters (starpu_data_handle_t root_data, unsigned nfilters, va_list pa)
 
void starpu_data_map_filters_parray (starpu_data_handle_t root_handle, int nfilters, struct starpu_data_filter **filters)
 
void starpu_data_map_filters_array (starpu_data_handle_t root_handle, int nfilters, struct starpu_data_filter *filters)
 
Asynchronous API
void starpu_data_partition_plan (starpu_data_handle_t initial_handle, struct starpu_data_filter *f, starpu_data_handle_t *children)
 
void starpu_data_partition_submit (starpu_data_handle_t initial_handle, unsigned nparts, starpu_data_handle_t *children)
 
void starpu_data_partition_readonly_submit (starpu_data_handle_t initial_handle, unsigned nparts, starpu_data_handle_t *children)
 
void starpu_data_partition_readonly_submit_sequential_consistency (starpu_data_handle_t initial_handle, unsigned nparts, starpu_data_handle_t *children, int sequential_consistency)
 
void starpu_data_partition_readwrite_upgrade_submit (starpu_data_handle_t initial_handle, unsigned nparts, starpu_data_handle_t *children)
 
void starpu_data_partition_readonly_downgrade_submit (starpu_data_handle_t initial_handle, unsigned nparts, starpu_data_handle_t *children)
 
void starpu_data_unpartition_submit (starpu_data_handle_t initial_handle, unsigned nparts, starpu_data_handle_t *children, int gathering_node)
 
void starpu_data_unpartition_readonly_submit (starpu_data_handle_t initial_handle, unsigned nparts, starpu_data_handle_t *children, int gathering_node)
 
void starpu_data_partition_clean (starpu_data_handle_t root_data, unsigned nparts, starpu_data_handle_t *children)
 
void starpu_data_partition_clean_node (starpu_data_handle_t root_data, unsigned nparts, starpu_data_handle_t *children, int gather_node)
 
void starpu_data_unpartition_submit_sequential_consistency_cb (starpu_data_handle_t initial_handle, unsigned nparts, starpu_data_handle_t *children, int gather_node, int sequential_consistency, void(*callback_func)(void *), void *callback_arg)
 
void starpu_data_partition_submit_sequential_consistency (starpu_data_handle_t initial_handle, unsigned nparts, starpu_data_handle_t *children, int sequential_consistency)
 
void starpu_data_unpartition_submit_sequential_consistency (starpu_data_handle_t initial_handle, unsigned nparts, starpu_data_handle_t *children, int gathering_node, int sequential_consistency)
 
Predefined BCSR Filter Functions

Predefined partitioning functions for BCSR data. Examples on how to use them are shown in PartitioningData.

void starpu_bcsr_filter_canonical_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
unsigned starpu_bcsr_filter_canonical_block_get_nchildren (struct starpu_data_filter *f, starpu_data_handle_t handle)
 
struct starpu_data_interface_opsstarpu_bcsr_filter_canonical_block_child_ops (struct starpu_data_filter *f, unsigned child)
 
void starpu_bcsr_filter_vertical_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
Predefined CSR Filter Functions

Predefined partitioning functions for CSR data. Examples on how to use them are shown in PartitioningData.

void starpu_csr_filter_vertical_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
Predefined Matrix Filter Functions

Predefined partitioning functions for matrix data. Examples on how to use them are shown in PartitioningData. Note: this is using the C element order which is row-major, i.e. elements with consecutive x coordinates are consecutive in memory.

void starpu_matrix_filter_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_matrix_filter_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_matrix_filter_vertical_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_matrix_filter_vertical_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_matrix_filter_pick_vector_y (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
struct starpu_data_interface_opsstarpu_matrix_filter_pick_vector_child_ops (struct starpu_data_filter *f, unsigned child)
 
void starpu_matrix_filter_pick_variable (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
struct starpu_data_interface_opsstarpu_matrix_filter_pick_variable_child_ops (struct starpu_data_filter *f, unsigned child)
 
Predefined Vector Filter Functions

Predefined partitioning functions for vector data. Examples on how to use them are shown in PartitioningData.

void starpu_vector_filter_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_vector_filter_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_vector_filter_list_long (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_vector_filter_list (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_vector_filter_divide_in_2 (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_vector_filter_pick_variable (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
struct starpu_data_interface_opsstarpu_vector_filter_pick_variable_child_ops (struct starpu_data_filter *f, unsigned child)
 
Predefined Block Filter Functions

Predefined partitioning functions for block data. Examples on how to use them are shown in PartitioningData. An example is available in examples/filters/shadow3d.c Note: this is using the C element order which is row-major, i.e. elements with consecutive x coordinates are consecutive in memory.

void starpu_block_filter_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_block_filter_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_block_filter_vertical_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_block_filter_vertical_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_block_filter_depth_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_block_filter_depth_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_block_filter_pick_matrix_z (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_block_filter_pick_matrix_y (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
struct starpu_data_interface_opsstarpu_block_filter_pick_matrix_child_ops (struct starpu_data_filter *f, unsigned child)
 
void starpu_block_filter_pick_variable (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
struct starpu_data_interface_opsstarpu_block_filter_pick_variable_child_ops (struct starpu_data_filter *f, unsigned child)
 
Predefined Tensor Filter Functions

Predefined partitioning functions for tensor data.

void starpu_tensor_filter_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_tensor_filter_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_tensor_filter_vertical_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_tensor_filter_vertical_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_tensor_filter_depth_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_tensor_filter_depth_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_tensor_filter_time_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_tensor_filter_time_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_tensor_filter_pick_block_t (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_tensor_filter_pick_block_z (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_tensor_filter_pick_block_y (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
struct starpu_data_interface_opsstarpu_tensor_filter_pick_block_child_ops (struct starpu_data_filter *f, unsigned child)
 
void starpu_tensor_filter_pick_variable (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
struct starpu_data_interface_opsstarpu_tensor_filter_pick_variable_child_ops (struct starpu_data_filter *f, unsigned child)
 
Predefined Ndim Filter Functions

Predefined partitioning functions for ndim array data.

void starpu_ndim_filter_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_block_shadow (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_to_tensor (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_to_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_to_matrix (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_to_vector (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_to_variable (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_pick_ndim (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_5d_pick_tensor (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_4d_pick_block (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_3d_pick_matrix (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_2d_pick_vector (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_1d_pick_variable (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
void starpu_ndim_filter_pick_variable (void *father_interface, void *child_interface, struct starpu_data_filter *f, unsigned id, unsigned nparts)
 
struct starpu_data_interface_opsstarpu_ndim_filter_pick_tensor_child_ops (struct starpu_data_filter *f, unsigned child)
 
struct starpu_data_interface_opsstarpu_ndim_filter_pick_block_child_ops (struct starpu_data_filter *f, unsigned child)
 
struct starpu_data_interface_opsstarpu_ndim_filter_pick_matrix_child_ops (struct starpu_data_filter *f, unsigned child)
 
struct starpu_data_interface_opsstarpu_ndim_filter_pick_vector_child_ops (struct starpu_data_filter *f, unsigned child)
 
struct starpu_data_interface_opsstarpu_ndim_filter_pick_variable_child_ops (struct starpu_data_filter *f, unsigned child)
 
struct starpu_data_interface_opsstarpu_ndim_filter_to_tensor_child_ops (struct starpu_data_filter *f, unsigned child)
 
struct starpu_data_interface_opsstarpu_ndim_filter_to_block_child_ops (struct starpu_data_filter *f, unsigned child)
 
struct starpu_data_interface_opsstarpu_ndim_filter_to_matrix_child_ops (struct starpu_data_filter *f, unsigned child)
 
struct starpu_data_interface_opsstarpu_ndim_filter_to_vector_child_ops (struct starpu_data_filter *f, unsigned child)
 
struct starpu_data_interface_opsstarpu_ndim_filter_to_variable_child_ops (struct starpu_data_filter *f, unsigned child)
 
void starpu_filter_nparts_compute_chunk_size_and_offset (unsigned n, unsigned nparts, size_t elemsize, unsigned id, unsigned blocksize, unsigned *chunk_size, size_t *offset)