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

Use custom coalescing heuristic and introduce a number of new configuration options for memory pools

Open msimberg opened this issue 1 year ago • 5 comments

This is intended to replace https://github.com/eth-cscs/DLA-Future/pull/1143 as a more permanent solution.

This introduces:

  • configuration options for controlling the "next" allocation size (i.e. all blocks after the first one) and alignment size of pools
  • a custom coalescing heuristic that works around https://github.com/LLNL/Umpire/issues/906
  • configuration options that go along with the custom heuristic

I'm 100% sure I haven't chosen the best names for the new options, but I'd like to discuss them with you first before making any further changes. Additionally, I'm 100% aware that the coalescing options add complexity. My intention with them is primarily to have as debugging options, not necessarily something most users would change. The default behaviour is very "vanilla", but in case we see situations where too much memory is used or similar we can use these options to try to tune how umpire frees/coalesces blocks in the pool.

As a semi-related change I've also namespaced the Umpire pools with a DLAF_ prefix since we used quite generic names. I suppose we'd notice if the names clash, but I'd rather be on the safe side and avoid clashes (e.g. if the non-thread safe pool is accessed without synchronization I expect bad things to happen).

To do:

  • [ ] formatting
  • [ ] naming
  • [ ] more/better documentation of options

msimberg avatar Sep 06 '24 14:09 msimberg

cscs-ci run

msimberg avatar Sep 06 '24 14:09 msimberg

cscs-ci run

msimberg avatar Sep 06 '24 15:09 msimberg

Context for current names: https://github.com/LLNL/Umpire/blob/bf2df8d46f6e8918b7402a45b0f95127c3121478/src/umpire/strategy/QuickPool.hpp#L46-L62.

msimberg avatar Sep 09 '24 13:09 msimberg

cscs-ci run

msimberg avatar Sep 17 '24 07:09 msimberg

cscs-ci run

msimberg avatar Sep 27 '24 14:09 msimberg

cscs-ci run

msimberg avatar Oct 03 '24 11:10 msimberg