[WIP] Perform user work
Created by: Rombur
This is a first step for #86 (closed) There is no point in looking at the implementation yet, it only works in serial and uses boost even if it is not necessary. I just want to discuss about the interface. In particular, do we still want to have indices
, offset
, and ranks
in the interface. They don't need to be there if we don't return them to the user. Personaly I would remove them but I would still provided them to the user's functor so if the user want to save them it would be her job. The other question is how do we want to get the user's data. For now, the user needs to create a vector of Data
with as many elements as ranks. This allows me to simply do a all_to_all
and then, the user can just filter the results the way she wants. The advantage is that it's simple for us and for the user. The disadvantage is that if the data is large the memory consumption may be large.