Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] Issues with asynchronous partitioning on temporary data

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] Issues with asynchronous partitioning on temporary data


Chronologique Discussions 
  • From: Samuel Thibault <samuel.thibault@inria.fr>
  • To: Jérôme Richard <jerome.richard@inria.fr>
  • Cc: starpu-devel@lists.gforge.inria.fr
  • Subject: Re: [Starpu-devel] Issues with asynchronous partitioning on temporary data
  • Date: Wed, 31 Aug 2016 15:38:27 +0200
  • List-archive: <http://lists.gforge.inria.fr/pipermail/starpu-devel/>
  • List-id: "Developers list. For discussion of new features, code changes, etc." <starpu-devel.lists.gforge.inria.fr>

Jérôme Richard, on Wed 31 Aug 2016 13:13:44 +0200, wrote:
> starpu_matrix_data_register(&tmprhs2_f_handles, -1, 0, Nr, Nr, Ntheta,
> sizeof(double));
> starpu_data_partition_plan(tmprhs2_f_handles, &f1,
> &tmprhs2_f_handles_children[0]);
> starpu_data_partition_submit(tmprhs2_f_handles, f1.nchildren,
> &tmprhs2_f_handles_children[0]);

Ah, we didn't think about that case. starpu_data_partition_submit
currently assumes that there is always coherency to be done between the
value of the main handle and the sub-handles. We'd just need to disable
that. What you could do for now to circumvent the issue is to just
submit a W empty task on tmprhs2_f_handles, to make starpu think it is
initialized:

void nop(void* buffers[], void* clArgs)
{
printf("nop\n");
}

starpu_codelet null_cl;
starpu_codelet_init(&null_cl);
null_cl.where = STARPU_CPU;
null_cl.cpu_funcs[0] = nop;
null_cl.nbuffers = 1;
null_cl.modes[0] = STARPU_W;

starpu_matrix_data_register(&tmprhs2_f_handles, -1, 0, Nr, Nr, Ntheta,
sizeof(double));

starpu_task_insert(&null_cl, STARPU_W, tmprhs2_f_handles, 0);

starpu_data_partition_plan(tmprhs2_f_handles, &f1,
&tmprhs2_f_handles_children[0]);
starpu_data_partition_submit(tmprhs2_f_handles, f1.nchildren,
&tmprhs2_f_handles_children[0]);

There was also a bug in our code which wasn't properly updating
coherency for asynchronous partitioning for temporary datas. I have
fixed it in the trunk and 1.2 branch.

Samuel




Archives gérées par MHonArc 2.6.19+.

Haut de le page