浏览代码

insert task: update starpu_insert_task_get_sizes to starpu_insert_task_get_arg_size

Nathalie Furmento 14 年之前
父节点
当前提交
917b4f0671

+ 1 - 2
mpi/starpu_mpi_insert_task.c

@@ -35,14 +35,13 @@ int starpu_mpi_insert_task(MPI_Comm comm, starpu_codelet *codelet, ...) {
         va_list varg_list;
         va_list varg_list;
         int me, do_execute;
         int me, do_execute;
 	size_t arg_buffer_size = 0;
 	size_t arg_buffer_size = 0;
-        int nb_buffers;
         int dest;
         int dest;
 
 
 	MPI_Comm_rank(comm, &me);
 	MPI_Comm_rank(comm, &me);
 
 
         /* Get the number of buffers and the size of the arguments */
         /* Get the number of buffers and the size of the arguments */
 	va_start(varg_list, codelet);
 	va_start(varg_list, codelet);
-        starpu_insert_task_get_sizes(&arg_buffer_size, &nb_buffers, varg_list);
+        arg_buffer_size = starpu_insert_task_get_arg_size(varg_list);
 
 
 	/* Find out whether we are to execute the data because we own the data to be written to. */
 	/* Find out whether we are to execute the data because we own the data to be written to. */
         do_execute = -1;
         do_execute = -1;

+ 1 - 2
src/util/starpu_insert_task.c

@@ -60,10 +60,9 @@ void starpu_insert_task(starpu_codelet *cl, ...)
 
 
 	/* Compute the size */
 	/* Compute the size */
 	size_t arg_buffer_size = 0;
 	size_t arg_buffer_size = 0;
-        int nb_buffers;
 
 
 	va_start(varg_list, cl);
 	va_start(varg_list, cl);
-        starpu_insert_task_get_sizes(&arg_buffer_size, &nb_buffers, varg_list);
+        arg_buffer_size = starpu_insert_task_get_arg_size(varg_list);
 
 
 	va_start(varg_list, cl);
 	va_start(varg_list, cl);
         struct starpu_task *task = starpu_task_create();
         struct starpu_task *task = starpu_task_create();

+ 7 - 8
src/util/starpu_insert_task_utils.c

@@ -18,26 +18,25 @@
 #include <common/config.h>
 #include <common/config.h>
 #include <common/utils.h>
 #include <common/utils.h>
 
 
-void starpu_insert_task_get_sizes(size_t *arg_buffer_size, int *nb_buffers, va_list varg_list)
+size_t starpu_insert_task_get_arg_size(va_list varg_list)
 {
 {
 	int arg_type;
 	int arg_type;
+        size_t arg_buffer_size;
 
 
-        *arg_buffer_size = 0;
-        *nb_buffers = 0;
+        arg_buffer_size = 0;
 
 
-	*arg_buffer_size += sizeof(char);
+	arg_buffer_size += sizeof(char);
 
 
 	while ((arg_type = va_arg(varg_list, int)) != 0) {
 	while ((arg_type = va_arg(varg_list, int)) != 0) {
 		if (arg_type==STARPU_R || arg_type==STARPU_W || arg_type==STARPU_RW || arg_type == STARPU_SCRATCH) {
 		if (arg_type==STARPU_R || arg_type==STARPU_W || arg_type==STARPU_RW || arg_type == STARPU_SCRATCH) {
 			va_arg(varg_list, starpu_data_handle);
 			va_arg(varg_list, starpu_data_handle);
-                        *nb_buffers ++;
 		}
 		}
 		else if (arg_type==STARPU_VALUE) {
 		else if (arg_type==STARPU_VALUE) {
 			va_arg(varg_list, void *);
 			va_arg(varg_list, void *);
 			size_t cst_size = va_arg(varg_list, size_t);
 			size_t cst_size = va_arg(varg_list, size_t);
 
 
-			*arg_buffer_size += sizeof(size_t);
-			*arg_buffer_size += cst_size;
+			arg_buffer_size += sizeof(size_t);
+			arg_buffer_size += cst_size;
 		}
 		}
 		else if (arg_type==STARPU_CALLBACK) {
 		else if (arg_type==STARPU_CALLBACK) {
 			va_arg(varg_list, void (*)(void *));
 			va_arg(varg_list, void (*)(void *));
@@ -51,7 +50,7 @@ void starpu_insert_task_get_sizes(size_t *arg_buffer_size, int *nb_buffers, va_l
 	}
 	}
 
 
 	va_end(varg_list);
 	va_end(varg_list);
-
+        return arg_buffer_size;
 }
 }
 
 
 int starpu_insert_task_create_and_submit(size_t arg_buffer_size, starpu_codelet *cl, struct starpu_task **task, va_list varg_list) {
 int starpu_insert_task_create_and_submit(size_t arg_buffer_size, starpu_codelet *cl, struct starpu_task **task, va_list varg_list) {

+ 1 - 1
src/util/starpu_insert_task_utils.h

@@ -21,7 +21,7 @@
 #include <stdarg.h>
 #include <stdarg.h>
 #include <starpu.h>
 #include <starpu.h>
 
 
-void starpu_insert_task_get_sizes(size_t *arg_buffer_size, int *nb_buffers, va_list varg_list);
+size_t starpu_insert_task_get_arg_size(va_list varg_list);
 int starpu_insert_task_create_and_submit(size_t arg_buffer_size, starpu_codelet *cl, struct starpu_task **task, va_list varg_list);
 int starpu_insert_task_create_and_submit(size_t arg_buffer_size, starpu_codelet *cl, struct starpu_task **task, va_list varg_list);
 
 
 #endif // __STARPU_INSERT_TASK_UTILS_H__
 #endif // __STARPU_INSERT_TASK_UTILS_H__