Selaa lähdekoodia

Mention which filters can be used for which handle type

Samuel Thibault 5 vuotta sitten
vanhempi
commit
aceaba8b0f
1 muutettua tiedostoa jossa 28 lisäystä ja 1 poistoa
  1. 28 1
      doc/doxygen/chapters/310_data_management.doxy

+ 28 - 1
doc/doxygen/chapters/310_data_management.doxy

@@ -54,6 +54,13 @@ starpu_data_handle_t vector_handle;
 starpu_vector_data_register(&vector_handle, STARPU_MAIN_RAM, (uintptr_t)vector, NX, sizeof(vector[0]));
 starpu_vector_data_register(&vector_handle, STARPU_MAIN_RAM, (uintptr_t)vector, NX, sizeof(vector[0]));
 \endcode
 \endcode
 
 
+Vectors can be partitioned into pieces by using
+starpu_vector_filter_block(). They can also be partitioned with some overlapping
+by using starpu_vector_filter_block_shadow(). By default StarPU
+uses the same size for each piece. If different sizes are desired,
+starpu_vector_filter_list() or starpu_vector_filter_list_long() can be used
+instead. To just divide in two pieces, starpu_vector_filter_divide_in_2() can be used.
+
 \subsection MatrixDataInterface Matrix Data Interface
 \subsection MatrixDataInterface Matrix Data Interface
 
 
 To register 2-D matrices with a potential padding, one can use the
 To register 2-D matrices with a potential padding, one can use the
@@ -67,9 +74,15 @@ matrix = (float*)malloc(width * height * sizeof(float));
 starpu_matrix_data_register(&matrix_handle, STARPU_MAIN_RAM, (uintptr_t)matrix, width, width, height, sizeof(float));
 starpu_matrix_data_register(&matrix_handle, STARPU_MAIN_RAM, (uintptr_t)matrix, width, width, height, sizeof(float));
 \endcode
 \endcode
 
 
+2D matrices can be partitioned into 2D matrices along the x dimension by
+using starpu_matrix_filter_block(), and along the y dimension by using
+starpu_matrix_filter_vertical_block(). They can also be partitioned
+with some overlapping by using starpu_matrix_filter_block_shadow() and
+starpu_matrix_filter_vertical_block_shadow().
+
 \subsection BlockDataInterface Block Data Interface
 \subsection BlockDataInterface Block Data Interface
 
 
-To register 3-D blocks with potential paddings on Y and Z dimensions,
+To register 3-D matrices with potential paddings on Y and Z dimensions,
 one can use the block data interface. Here an example of how to
 one can use the block data interface. Here an example of how to
 register a block data to StarPU by using starpu_block_data_register().
 register a block data to StarPU by using starpu_block_data_register().
 
 
@@ -80,6 +93,14 @@ block = (float*)malloc(nx*ny*nz*sizeof(float));
 starpu_block_data_register(&block_handle, STARPU_MAIN_RAM, (uintptr_t)block, nx, nx*ny, nx, ny, nz, sizeof(float));
 starpu_block_data_register(&block_handle, STARPU_MAIN_RAM, (uintptr_t)block, nx, nx*ny, nx, ny, nz, sizeof(float));
 \endcode
 \endcode
 
 
+3D matrices can be partitioned along the x dimension by
+using starpu_block_filter_block(), or along the y dimension
+by using starpu_block_filter_vertical_block, or along the
+z dimension by using starpu_block_filter_depth_block. They
+can also be partitioned with some overlapping by using
+starpu_block_filter_block_shadow(), starpu_block_filter_vertical_block_shadow(),
+or starpu_block_filter_depth_block_shadow().
+
 \subsection BCSRDataInterface BCSR Data Interface
 \subsection BCSRDataInterface BCSR Data Interface
 
 
 BCSR (Blocked Compressed Sparse Row Representation) sparse matrix data
 BCSR (Blocked Compressed Sparse Row Representation) sparse matrix data
@@ -147,10 +168,16 @@ starpu_bcsr_data_register(&bcsr_handle,
 StarPU provides an example on how to deal with such matrices in
 StarPU provides an example on how to deal with such matrices in
 <c>examples/spmv</c>.
 <c>examples/spmv</c>.
 
 
+BCSR data handles can be partitioned into its dense matrix blocks by using
+starpu_bcsr_filter_canonical_block().
+
 \subsection CSRDataInterface CSR Data Interface
 \subsection CSRDataInterface CSR Data Interface
 
 
 TODO
 TODO
 
 
+CSR data handles can be partitioned into vertical CSR matrices by using
+starpu_csr_filter_vertical_block().
+
 \subsection VariableSizeDataInterface Data Interface with Variable Size
 \subsection VariableSizeDataInterface Data Interface with Variable Size
 
 
 Tasks are actually allowed to change the size of data interfaces.
 Tasks are actually allowed to change the size of data interfaces.