Accéder au contenu.
Menu Sympa

starpu-devel - [Starpu-devel] Difference between starpu_mpi_cache_flush() and starpu_mpi_cache_flush_all() ?

Objet : Developers list for StarPU

Archives de la liste

[Starpu-devel] Difference between starpu_mpi_cache_flush() and starpu_mpi_cache_flush_all() ?


Chronologique Discussions 
  • From: Benoît Lizé <benoit.lize@gmail.com>
  • To: starpu-devel@lists.gforge.inria.fr
  • Subject: [Starpu-devel] Difference between starpu_mpi_cache_flush() and starpu_mpi_cache_flush_all() ?
  • Date: Fri, 11 Jul 2014 15:40:52 +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>

Hello,

I am using StarPU-MPI 1.1, and want to take advantage of the cache flush mechanism that is now available. I was thinking about the following approach:

insert_all_the_tasks();
starpu_mpi_cache_flush_all_data();

This leads me to two questions:

1.
From the code, it seems to me that there is no difference between:

for (int i = 0; i < nhandles; i++) {
  starpu_mpi_cache_flush(MPI_COMM_WORLD, starpu_handles[i]);
}

and
starpu_mpi_cache_flush_all_data(MPI_COMM_WORLD);
provided that all the registered handles are in the "handles" array.

Is it true ?


2.
From what I understand, and assuming that starpu_mpi_insert_task() doesn't block (which AFAIK is true right now), there should not be a difference between flushing the cache as soon as I know that a given handle won't be touched anymore, and using starpu_mpi_cache_flush_all() at the end.

Is it true ?

If so, why does the Cholesky example in mpi/examples/matrix_decomposition/mpi_cholesky_codelets.c do it handle by handle ?

Thank you,

-- 
Benoit Lize




Archives gérées par MHonArc 2.6.19+.

Haut de le page