|
@@ -1280,7 +1280,7 @@ subdata according to the filter @var{f}, as shown in the following example:
|
|
|
@cartouche
|
|
|
@smallexample
|
|
|
struct starpu_data_filter f = @{
|
|
|
- .filter_func = starpu_block_filter_func,
|
|
|
+ .filter_func = starpu_matrix_filter_block,
|
|
|
.nchildren = nslicesx,
|
|
|
.get_nchildren = NULL,
|
|
|
.get_child_ops = NULL
|
|
@@ -1359,13 +1359,13 @@ list can be found in @code{starpu_data_filters.h} .
|
|
|
@node Partitioning Vector Data
|
|
|
@subsubsection Partitioning Vector Data
|
|
|
|
|
|
-@deftypefun void starpu_block_filter_func_vector (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_vector_filter_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
Return in @code{*@var{child_interface}} the @var{id}th element of the
|
|
|
vector represented by @var{father_interface} once partitioned in
|
|
|
@var{nparts} chunks of equal size.
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_block_shadow_filter_func_vector (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_vector_filter_block_shadow (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
Return in @code{*@var{child_interface}} the @var{id}th element of the
|
|
|
vector represented by @var{father_interface} once partitioned in
|
|
|
@var{nparts} chunks of equal size with a shadow border @code{filter_arg_ptr}, thus getting a vector of size (n-2*shadow)/nparts+2*shadow
|
|
@@ -1378,7 +1378,7 @@ enforced for the shadowed parts.
|
|
|
A usage example is available in examples/filters/shadow.c
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_vector_list_filter_func (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_vector_filter_list (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
Return in @code{*@var{child_interface}} the @var{id}th element of the
|
|
|
vector represented by @var{father_interface} once partitioned into
|
|
|
@var{nparts} chunks according to the @code{filter_arg_ptr} field of
|
|
@@ -1389,7 +1389,7 @@ The @code{filter_arg_ptr} field must point to an array of @var{nparts}
|
|
|
in each chunk of the partition.
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_vector_divide_in_2_filter_func (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_vector_filter_divide_in_2 (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
Return in @code{*@var{child_interface}} the @var{id}th element of the
|
|
|
vector represented by @var{father_interface} once partitioned in two
|
|
|
chunks of equal size, ignoring @var{nparts}. Thus, @var{id} must be
|
|
@@ -1400,13 +1400,13 @@ chunks of equal size, ignoring @var{nparts}. Thus, @var{id} must be
|
|
|
@node Partitioning Matrix Data
|
|
|
@subsubsection Partitioning Matrix Data
|
|
|
|
|
|
-@deftypefun void starpu_block_filter_func (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_matrix_filter_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a dense Matrix along the x dimension, thus getting (x/nparts,y)
|
|
|
matrices. If nparts does not divide x, the last submatrix contains the
|
|
|
remainder.
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_block_shadow_filter_func (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_matrix_filter_block_shadow (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a dense Matrix along the x dimension, with a shadow border
|
|
|
@code{filter_arg_ptr}, thus getting ((x-2*shadow)/nparts+2*shadow,y)
|
|
|
matrices. If nparts does not divide x-2*shadow, the last submatrix contains the
|
|
@@ -1418,13 +1418,13 @@ enforced for the shadowed parts.
|
|
|
A usage example is available in examples/filters/shadow2d.c
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_vertical_block_filter_func (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_matrix_filter_vertical_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a dense Matrix along the y dimension, thus getting (x,y/nparts)
|
|
|
matrices. If nparts does not divide y, the last submatrix contains the
|
|
|
remainder.
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_vertical_block_shadow_filter_func (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_matrix_filter_vertical_block_shadow (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a dense Matrix along the y dimension, with a shadow border
|
|
|
@code{filter_arg_ptr}, thus getting (x,(y-2*shadow)/nparts+2*shadow)
|
|
|
matrices. If nparts does not divide y-2*shadow, the last submatrix contains the
|
|
@@ -1441,13 +1441,13 @@ A usage example is available in examples/filters/shadow2d.c
|
|
|
|
|
|
A usage example is available in examples/filters/shadow3d.c
|
|
|
|
|
|
-@deftypefun void starpu_block_filter_func_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_block_filter_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a 3D matrix along the X dimension, thus getting (x/nparts,y,z)
|
|
|
3D matrices. If nparts does not divide x, the last submatrix contains the
|
|
|
remainder.
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_block_shadow_filter_func_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_block_filter_block_shadow (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a 3D matrix along the X dimension, with a shadow border
|
|
|
@code{filter_arg_ptr}, thus getting ((x-2*shadow)/nparts+2*shadow,y,z) 3D
|
|
|
matrices. If nparts does not divide x, the last submatrix contains the
|
|
@@ -1457,13 +1457,13 @@ IMPORTANT: This can only be used for read-only access, as no coherency is
|
|
|
enforced for the shadowed parts.
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_vertical_block_filter_func_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_block_filter_vertical_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a 3D matrix along the Y dimension, thus getting (x,y/nparts,z)
|
|
|
3D matrices. If nparts does not divide y, the last submatrix contains the
|
|
|
remainder.
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_vertical_block_shadow_filter_func_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_block_filter_vertical_block_shadow (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a 3D matrix along the Y dimension, with a shadow border
|
|
|
@code{filter_arg_ptr}, thus getting (x,(y-2*shadow)/nparts+2*shadow,z) 3D
|
|
|
matrices. If nparts does not divide y, the last submatrix contains the
|
|
@@ -1473,13 +1473,13 @@ IMPORTANT: This can only be used for read-only access, as no coherency is
|
|
|
enforced for the shadowed parts.
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_depth_block_filter_func_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_block_filter_depth_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a 3D matrix along the Z dimension, thus getting (x,y,z/nparts)
|
|
|
3D matrices. If nparts does not divide z, the last submatrix contains the
|
|
|
remainder.
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_depth_block_shadow_filter_func_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_block_filter_depth_block_shadow (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a 3D matrix along the Z dimension, with a shadow border
|
|
|
@code{filter_arg_ptr}, thus getting (x,y,(z-2*shadow)/nparts+2*shadow)
|
|
|
3D matrices. If nparts does not divide z, the last submatrix contains the
|
|
@@ -1492,11 +1492,11 @@ enforced for the shadowed parts.
|
|
|
@node Partitioning BCSR Data
|
|
|
@subsubsection Partitioning BCSR Data
|
|
|
|
|
|
-@deftypefun void starpu_canonical_block_filter_bcsr (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_bcsr_filter_canonical_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a block-sparse matrix into dense matrices.
|
|
|
@end deftypefun
|
|
|
|
|
|
-@deftypefun void starpu_vertical_block_filter_func_csr (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
+@deftypefun void starpu_csr_filter_vertical_block (void *@var{father_interface}, void *@var{child_interface}, {struct starpu_data_filter} *@var{f}, unsigned @var{id}, unsigned @var{nparts})
|
|
|
This partitions a block-sparse matrix into vertical block-sparse matrices.
|
|
|
@end deftypefun
|
|
|
|