Quellcode durchsuchen

Add missing cl_arg_size initialization

Samuel Thibault vor 9 Jahren
Ursprung
Commit
54ca953a98
3 geänderte Dateien mit 19 neuen und 0 gelöschten Zeilen
  1. 1 0
      examples/axpy/axpy.c
  2. 12 0
      examples/heat/dw_factolu.c
  3. 6 0
      examples/heat/dw_sparse_cg.c

+ 1 - 0
examples/axpy/axpy.c

@@ -196,6 +196,7 @@ int main(int argc, char **argv)
 		task->cl = &axpy_cl;
 
 		task->cl_arg = &_alpha;
+		task->cl_arg_size = sizeof(_alpha);
 
 		task->handles[0] = starpu_data_get_sub_data(_handle_x, 1, b);
 		task->handles[1] = starpu_data_get_sub_data(_handle_y, 1, b);

+ 12 - 0
examples/heat/dw_factolu.c

@@ -139,6 +139,7 @@ void dw_callback_v2_codelet_update_u22(void *argcb)
 		task->callback_arg = u11arg;
 		task->cl = &cl11;
 		task->cl_arg = u11arg;
+		task->cl_arg_size = sizeof(*u11arg);
 
 		task->handles[0] = starpu_data_get_sub_data(args->dataA, 2, k+1, k+1);
 	
@@ -175,6 +176,7 @@ void dw_callback_v2_codelet_update_u22(void *argcb)
 					task21->callback_arg = u21a;
 					task21->cl = &cl21;
 					task21->cl_arg = u21a;
+					task21->cl_arg_size = sizeof(*u21a);
 
 					u21a->i = k+1;
 					u21a->k = j;
@@ -211,6 +213,7 @@ void dw_callback_v2_codelet_update_u22(void *argcb)
 						task12->callback_arg = u12a;
 						task12->cl = &cl12;
 						task12->cl_arg = u12a;
+						task12->cl_arg_size = sizeof(*u12a);
 
 					u12a->i = k+1;
 					u12a->k = i;
@@ -266,6 +269,7 @@ void dw_callback_v2_codelet_update_u12(void *argcb)
 				task22->callback_arg = u22a;
 				task22->cl = &cl22;
 				task22->cl_arg = u22a;
+				task22->cl_arg_size = sizeof(*u22a);
 
 				u22a->k = i;
 				u22a->i = k;
@@ -326,6 +330,7 @@ void dw_callback_v2_codelet_update_u21(void *argcb)
 				task22->callback_arg = u22a;
 				task22->cl = &cl22;
 				task22->cl_arg = u22a;
+				task22->cl_arg_size = sizeof(*u22a);
 
 				u22a->k = i;
 				u22a->i = slicex;
@@ -401,6 +406,7 @@ void dw_callback_v2_codelet_update_u11(void *argcb)
 						task12->callback_arg = u12a;
 						task12->cl = &cl12;
 						task12->cl_arg = u12a;
+						task12->cl_arg_size = sizeof(*u12a);
 
 					u12a->i = i;
 					u12a->k = slice;
@@ -442,6 +448,7 @@ void dw_callback_v2_codelet_update_u11(void *argcb)
 					task21->callback_arg = u21a;
 					task21->cl = &cl21;
 					task21->cl_arg = u21a;
+					task21->cl_arg_size = sizeof(*u21a);
 
 					u21a->i = i;
 					u21a->k = slice;
@@ -507,12 +514,14 @@ void dw_callback_codelet_update_u11(void *argcb)
 			task12->callback_arg = u12a;
 			task12->cl = &cl12;
 			task12->cl_arg = u12a;
+			task12->cl_arg_size = sizeof(*u12a);
 
 			struct starpu_task *task21 = starpu_task_create();
 			task21->callback_func = dw_callback_codelet_update_u12_21;
 			task21->callback_arg = u21a;
 			task21->cl = &cl21;
 			task21->cl_arg = u21a;
+			task21->cl_arg_size = sizeof(*u21a);
 
 			u12a->i = args->i;
 			u12a->k = slice;
@@ -562,6 +571,7 @@ void dw_callback_codelet_update_u22(void *argcb)
 			task->callback_arg = u11arg;
 			task->cl = &cl11;
 			task->cl_arg = u11arg;
+			task->cl_arg_size = sizeof(*u11arg);
 
 			task->handles[0] = starpu_data_get_sub_data(args->dataA, 2, args->k + 1, args->k + 1);
 	
@@ -608,6 +618,7 @@ void dw_callback_codelet_update_u12_21(void *argcb)
 				task22->callback_arg = u22a;
 				task22->cl = &cl22;
 				task22->cl_arg = u22a;
+				task22->cl_arg_size = sizeof(*u22a);
 
 				u22a->k = i;
 				u22a->i = slicex;
@@ -697,6 +708,7 @@ void dw_codelet_facto_v2(starpu_data_handle_t dataA, unsigned nblocks)
 	task->callback_arg = args;
 	task->cl = &cl11;
 	task->cl_arg = args;
+	task->cl_arg_size = sizeof(*args);
 
 	task->handles[0] = starpu_data_get_sub_data(dataA, 2, 0, 0); 
 

+ 6 - 0
examples/heat/dw_sparse_cg.c

@@ -176,6 +176,7 @@ void init_cg(struct cg_problem *problem)
 	task3->cl->cpu_funcs[0] = cpu_codelet_func_3;
 	task3->cl->cpu_funcs_name[0] = "cpu_codelet_func_3";
 	task3->cl_arg = problem;
+	task3->cl_arg_size = sizeof(*problem);
 	task3->cl->nbuffers = 1;
 	task3->cl->modes[0] = STARPU_R;
 	task3->handles[0] = problem->ds_vecr;
@@ -231,6 +232,7 @@ void launch_new_cg_iteration(struct cg_problem *problem)
 	task5->cl->cpu_funcs[0] = cpu_codelet_func_5;
 	task5->cl->cpu_funcs_name[0] = "cpu_codelet_func_5";
 	task5->cl_arg = problem;
+	task5->cl_arg_size = sizeof(*problem);
 	task5->cl->nbuffers = 2;
 	task5->cl->modes[0] = STARPU_R;
 	task5->cl->modes[1] = STARPU_R;
@@ -249,6 +251,7 @@ void launch_new_cg_iteration(struct cg_problem *problem)
 	task6->cl->cpu_funcs[0] = cpu_codelet_func_6;
 	task6->cl->cpu_funcs_name[0] = "cpu_codelet_func_6";
 	task6->cl_arg = problem;
+	task6->cl_arg_size = sizeof(*problem);
 	task6->cl->nbuffers = 2;
 	task6->cl->modes[0] = STARPU_RW;
 	task6->cl->modes[1] = STARPU_R;
@@ -267,6 +270,7 @@ void launch_new_cg_iteration(struct cg_problem *problem)
 	task7->cl->cpu_funcs[0] = cpu_codelet_func_7;
 	task7->cl->cpu_funcs_name[0] = "cpu_codelet_func_7";
 	task7->cl_arg = problem;
+	task7->cl_arg_size = sizeof(*problem);
 	task7->cl->nbuffers = 2;
 	task7->cl->modes[0] = STARPU_RW;
 	task7->cl->modes[1] = STARPU_R;
@@ -285,6 +289,7 @@ void launch_new_cg_iteration(struct cg_problem *problem)
 	task8->cl->cpu_funcs[0] = cpu_codelet_func_8;
 	task8->cl->cpu_funcs_name[0] = "cpu_codelet_func_8";
 	task8->cl_arg = problem;
+	task8->cl_arg_size = sizeof(*problem);
 	task8->cl->nbuffers = 1;
 	task8->cl->modes[0] = STARPU_R;
 	task8->handles[0] = problem->ds_vecr;
@@ -300,6 +305,7 @@ void launch_new_cg_iteration(struct cg_problem *problem)
 	task9->cl->cpu_funcs[0] = cpu_codelet_func_9;
 	task9->cl->cpu_funcs_name[0] = "cpu_codelet_func_9";
 	task9->cl_arg = problem;
+	task9->cl_arg_size = sizeof(*problem);
 	task9->cl->nbuffers = 2;
 	task9->cl->modes[0] = STARPU_RW;
 	task9->cl->modes[1] = STARPU_R;