sandialabs / compadre

Compadre (Compatible Particle Discretization and Remap)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Persistent team policy

kuberry opened this issue · comments

Currently, the ParallelManager creates a team_policy instantiation each time a functor is requested, without persistence. The next time a functor is called, it needs to be done again.

Particularly for within the GMLS class, this means that many scratch allocations are being made that could be made once for all time if this were made persistent. Previously the ParallelManager class has been passed around, keeping track of scratch space and levels, with a copy constructor that consists only of ints/doubles. This will no longer be the case if the PM is managing the policy and its persistence.

Addressed partially by #257 where team policy is reused.