|
@@ -366,7 +366,7 @@ int starpu_mpi_insert_task(MPI_Comm comm, struct starpu_codelet *codelet, ...)
|
|
|
int me, do_execute, xrank, nb_nodes;
|
|
|
size_t *size_on_nodes;
|
|
|
size_t arg_buffer_size = 0;
|
|
|
- char *arg_buffer;
|
|
|
+ char *arg_buffer = NULL;
|
|
|
int dest=0, inconsistent_execute;
|
|
|
int current_data = 0;
|
|
|
|
|
@@ -381,8 +381,11 @@ int starpu_mpi_insert_task(MPI_Comm comm, struct starpu_codelet *codelet, ...)
|
|
|
va_start(varg_list, codelet);
|
|
|
arg_buffer_size = _starpu_insert_task_get_arg_size(varg_list);
|
|
|
|
|
|
- va_start(varg_list, codelet);
|
|
|
- _starpu_codelet_pack_args(arg_buffer_size, &arg_buffer, varg_list);
|
|
|
+ if (arg_buffer_size)
|
|
|
+ {
|
|
|
+ va_start(varg_list, codelet);
|
|
|
+ _starpu_codelet_pack_args(arg_buffer_size, &arg_buffer, varg_list);
|
|
|
+ }
|
|
|
|
|
|
/* Find out whether we are to execute the data because we own the data to be written to. */
|
|
|
inconsistent_execute = 0;
|