Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use global counter in thermostats #3884

Draft
wants to merge 17 commits into
base: python
Choose a base branch
from

Commits on Sep 3, 2020

  1. Configuration menu
    Copy the full SHA
    9f9fc26 View commit details
    Browse the repository at this point in the history
  2. core: Use seed+salt in key of Philox

    In the previous implementation, thermostat noise for different seeds
    was correlated, the seed just shifted the sequence. For example with
    seed offset X, the cross-correlation used to have a peak at lag X.
    
    Co-authored-by: Jean-Noël Grad <[email protected]>
    fweik and jngrad committed Sep 3, 2020
    Configuration menu
    Copy the full SHA
    69c830b View commit details
    Browse the repository at this point in the history
  3. core: Use a single global counter for RNGs

    Co-authored-by: Jean-Noël Grad <[email protected]>
    fweik and jngrad committed Sep 3, 2020
    Configuration menu
    Copy the full SHA
    cc97747 View commit details
    Browse the repository at this point in the history
  4. core: Use Philox infrastructure for SD thermostat

    The SD external library uses Philox internally for both the CPU and
    GPU implementations. SD now uses the global counter instead of the
    simulation time divided by the time step, which are both mutable
    and can lead to correlated sequences when changed by the user.
    jngrad committed Sep 3, 2020
    Configuration menu
    Copy the full SHA
    ca86fe6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7374dce View commit details
    Browse the repository at this point in the history
  6. core: Make statistical unit tests faster

    Remove overhead from the std::function wrapper and heap allocation.
    jngrad committed Sep 3, 2020
    Configuration menu
    Copy the full SHA
    cc60ab9 View commit details
    Browse the repository at this point in the history
  7. core: Make statistical unit tests faster

    Reduce sample sizes and increase tolerances.
    jngrad committed Sep 3, 2020
    Configuration menu
    Copy the full SHA
    ea3f600 View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2020

  1. Configuration menu
    Copy the full SHA
    54f8c74 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8feab33 View commit details
    Browse the repository at this point in the history
  3. core: Move global counter to the integrator

    This counter is incremented by the integrator and is completely
    dissociated from the thermostat infrastructure.
    jngrad committed Sep 4, 2020
    Configuration menu
    Copy the full SHA
    2ca4b0e View commit details
    Browse the repository at this point in the history
  4. core: Forward integrator_counter state by parameter

    Pass the current value of the integrator_counter to the force
    kernels as a parameter instead of relying on external linkage.
    There are two exceptions: thermalized bonds and constraints,
    which were not designed to be extensible in this way, and
    still rely on external linkage.
    jngrad committed Sep 4, 2020
    Configuration menu
    Copy the full SHA
    486612d View commit details
    Browse the repository at this point in the history
  5. core: Break integrator/thermostat cyclic dependency

    Header file thermostat.hpp no longer includes integrate.hpp.
    jngrad committed Sep 4, 2020
    Configuration menu
    Copy the full SHA
    4e415bb View commit details
    Browse the repository at this point in the history
  6. core: Use vector operations

    jngrad committed Sep 4, 2020
    Configuration menu
    Copy the full SHA
    4be1ab1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5f785c5 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1f60e87 View commit details
    Browse the repository at this point in the history
  9. core: Remove temporary variable

    Fixes clang-analyzer-deadcode.DeadStores warning.
    jngrad committed Sep 4, 2020
    Configuration menu
    Copy the full SHA
    48b7622 View commit details
    Browse the repository at this point in the history
  10. core: Header cleanup

    jngrad committed Sep 4, 2020
    Configuration menu
    Copy the full SHA
    50d097a View commit details
    Browse the repository at this point in the history