StarPU: Change the Tag management system
Merge request reports
Activity
changed milestone to %Chameleon 1.2.0
added 1 commit
- 5b496168 - api: Remove CHAMELEON_user_tag_size() function from API
- Resolved by Mathieu Faverge
@all Can someone please check this PR on your side. Since I did this change, I have inconsistent error in either allocation from StarPU or MPI_Type_Free. And I can't understand why. So I'm curious to see if others have the same issue ?
I would like to merge this one as it would relief the constraint on the tags management system, and that could simplify things in LU, recursive algorithms or mixed precision.
- Resolved by Mathieu Faverge
We give the tag of the data to StarPU, such that each piece of data has the same tag on all nodes. Otherwise StaRPU could not know that two pieces of data declared on two nodes correspond to each other.
We already had this functionality, but it was made with binary mask. A part of the tag was used to specify the descriptor, and a part was used to described each tile inside the descriptor. This generates a lot of holes and a huge number of tags were not used. In some cases, it was even a limitation to the application that could not declare enough tags. (Experiments with a large set of test cases could reach this limit easily). Using this new scheme, a descriptor books only the correct number of tags it requires and no more. Furthermore, if tags that are not used anymore, they are now released and can be reused by another descriptor, so we removed the limitation we had before.
Edited by Mathieu Faverge
added 2 commits
- e82c18c7 - api: Remove CHAMELEON_user_tag_size() function from API
- b5ad66ec - control: Restore MPI_THREAD_MULTIPLE removed by !282 (merged) as SERIALIZED seems to be...
added 1 commit
- 5312d731 - control: Restore MPI_THREAD_MULTIPLE removed by !282 (merged) as SERIALIZED seems to be...
mentioned in commit 015776f8
mentioned in merge request starpu/starpu!90 (merged)