|
@@ -15,6 +15,7 @@
|
|
*/
|
|
*/
|
|
|
|
|
|
#include <datawizard/filters.h>
|
|
#include <datawizard/filters.h>
|
|
|
|
+#include <datawizard/footprint.h>
|
|
|
|
|
|
/*
|
|
/*
|
|
* This function applies a starpu_filter on all the elements of a partition
|
|
* This function applies a starpu_filter on all the elements of a partition
|
|
@@ -122,10 +123,14 @@ void starpu_data_partition(starpu_data_handle initial_handle, starpu_filter *f)
|
|
children->depth = initial_handle->depth + 1;
|
|
children->depth = initial_handle->depth + 1;
|
|
|
|
|
|
children->is_not_important = initial_handle->is_not_important;
|
|
children->is_not_important = initial_handle->is_not_important;
|
|
-
|
|
|
|
children->wb_mask = initial_handle->wb_mask;
|
|
children->wb_mask = initial_handle->wb_mask;
|
|
children->home_node = initial_handle->home_node;
|
|
children->home_node = initial_handle->home_node;
|
|
|
|
|
|
|
|
+ /* We compute the size and the footprint of the child once and
|
|
|
|
+ * store it in the handle */
|
|
|
|
+ children->data_size = children->ops->get_size(children);
|
|
|
|
+ children->footprint = _starpu_compute_data_footprint(children);
|
|
|
|
+
|
|
/* initialize the chunk lock */
|
|
/* initialize the chunk lock */
|
|
children->req_list = starpu_data_requester_list_new();
|
|
children->req_list = starpu_data_requester_list_new();
|
|
children->refcnt = 0;
|
|
children->refcnt = 0;
|