Skip to content

Speedup the unskip and scheduler_start process

Matthieu Schaller requested to merge unskip_speedup into master

A bunch of performance and memory improvements:

  • In scheduler_start(), do not reset the tasks' tic and toc or task debugging properties (see #611 (closed)).
  • Make each cell that hosts a task carry a flag saying it has a task (see discussion in #523 (closed)).
  • When unskipping, only recurse down to levels where tasks still exist (see discussion in #523 (closed)).
  • When unskipping, duplicate the list of active cells in order to launch the threads not just on the cells but also on the different task types to enhance parallelization
  • Move all the unskip logic to a separate file (part of #427 (closed)).
  • Since we know at which level the tasks are, we can recurse less in the creation of send/recv tasks and use a lot fewer task links.
Edited by Matthieu Schaller

Merge request reports