Skip to content

Conversation

@wthrowe
Copy link
Member

@wthrowe wthrowe commented Sep 28, 2022

Note to reviewers: 760 of the changed lines are trivial input-file syntax changes.

This will hopefully solve lockups we have attributed to the ordering of reduction calls varying between nodes.

Proposed changes

Upgrade instructions

The syntax for the EventsAndTriggers and EventsAndDenseTriggers input-file sections has changed. Each ?: entry should be changed from

  ? Trigger
  : - Event
    - PossibleOtherEvents

to

  - - Trigger
    - - Event
      - PossibleOtherEvents

This results in all event and trigger arguments indenting one additional level (typically two spaces).

Code review checklist

  • The code is documented and the documentation renders correctly. Run
    make doc to generate the documentation locally into BUILD_DIR/docs/html.
    Then open index.html.
  • The code follows the stylistic and code quality guidelines listed in the
    code review guide.
  • The PR lists upgrade instructions and is labeled bugfix or
    new feature if appropriate.

Further comments

Previously, the order depended on the hashing of Trigger memory
addresses.
Now tests that events are correctly re-checked for readiness after
they are run.
Previously the order depended on hashes of memory addresses.

Additionally, triggers are now always tested in input-file order.
Previously, the order that triggers were checked in would vary in a
deterministic but not easily predictable manner throughout the
evolution.

This incurs an asymptotic runtime penalty because the vector of
triggers is being looped over repeatedly, but unless the number of
triggers becomes very large this effect should be negligible.
Copy link
Member

@nilsdeppe nilsdeppe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing :D This is much simpler of a change than I expected when we first talked about it!

@nilsdeppe nilsdeppe merged commit fef4328 into sxs-collaboration:develop Sep 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants