DLA-Future icon indicating copy to clipboard operation
DLA-Future copied to clipboard

ExtraBuffers: revamping of the idea

Open albestro opened this issue 2 years ago • 0 comments

This is a revamping of a concept we already tested in #386. Due to the important changes happened to the codebase in the meanwhile, together with the fact that it was just a feasibility test, we opted for the easier path of just re-implementing the idea.

ExtraBuffers is a utility that comes handy for the "reduce" pattern, i.e. multiple tasks wants to write on the same memory. ExtraBuffers gives you a set of "buffer" tiles that tasks can use to write in parallel, and at the end the reduction is done on request.

Note Differently from the original one, this PR went for a simpler implementation, where "partial computations" are stored exclusively on ExtraBuffers tiles, without using the tile where the result will be reduced afterwards.

In this PR there is also a first usage example, in W2 computation inside ReductionToBand.

TODO

  • [x] Evaluate if reduction output tile has to be resetted or not
  • [ ] Fix and improve the test
  • [x] Fix GPU

albestro avatar Feb 17 '23 08:02 albestro