Mode timer tree no longer supports multipatch

Issue #1441 new
Ian Hinder created an issue

The parameter setting

Carpet::include_maps_in_mode_timer_tree = yes

does not work with the new timer tree code which includes a reduction across processes. This code expects all timers to exist on all processes, but with multipatch, and the above setting, local mode is not entered for all refinement levels on all processes (because not all processes have all maps), and the timer code aborts with the error "Timers are inconsistent across processes: root process expects timer [done], this process has timer enter_local_mode instead".

One solution would be for the timers to be created and not started on the other processes. Another would be to modify the reduction code to allow missing timers on some processes.

As a general goal, we are trying to move away from global knowledge and synchronisation across all processes. Such a goal favours making the reduction code more tolerant to each process having a different state.

Keyword:

Comments (0)

  1. Log in to comment