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

july update #5

Open
wants to merge 166 commits into
base: master
Choose a base branch
from
Open

july update #5

wants to merge 166 commits into from

Conversation

dominicrufa
Copy link
Collaborator

No description provided.

proteneer and others added 30 commits May 23, 2024 15:21
)

* WIP, mol_a ref implementation.

* Process both G1 and G2

* WIP

* Accidental commit

* WIP

* WIP

* WIP

* Update timemachine/fe/mcgregor.py

Co-authored-by: Matt Wittmann <[email protected]>

---------

Co-authored-by: Matt Wittmann <[email protected]>
* Adds normalized kl divergence metric

---------

Co-authored-by: Josh Fass <[email protected]>
Co-authored-by: Matt Wittmann <[email protected]>
…ss (#1311)

* Avoid reading in an invalid sample, triggering an invalid memory access

* Doesn't impact correctness of water sampling.
* Happens when the number of proposals left is fewer than the batch
  size. In this case the samples that are selected for the idx in the
batch are stale and may be sampling invalid states. In the case that the
final mol (by idx) was selected and it was a targeted inner move then
the index of the new sample would be out of bounds triggering a failure.
A very rare occurrence which is why this was not caught initially.

---------

Co-authored-by: Matt Wittmann <[email protected]>
* Fix warning

* Fix test

* Fix validation condition

* Implement execute_batch_sparse
* Use fast real to int64 conversion for all recent cards

* 30% faster on RTX 4090, 25% faster on L4s

* Support back to Cuda Arch 6.1, oldest cuda arch we use in development
* Adds verify_chiral_consistency_of_core to verify cores quickly

* Generating charges is slow and unnecessary
Baseline performance improvements.
Fix max_cores off-by-1 error.
* Fix nightly test

* Move assertion up
* Move HREXPlots for consistency

* Remove unused argument

* Remove replica-state distribution convergence plot

Not particularly useful in its current form and uses a lot of memory
…#1321)

* Add failing test, remove nightly mark from vacuum

* Fix off-by-one misalignment of replica indices and frames in output
* Moves top level nonbonded tests to nonbonded directory
* Moves to using pytest parameterize
* Avoid accumulating memory in tests
* Makes it more explicit where things failed
* Avoid reading frames from disk in loop

* Write out json file of benchmarks

* Easier to generate multiple json files and plot them

---------

Co-authored-by: Matt Wittmann <[email protected]>
)

* Add HREXSimulationResult, move hrex-specific fields

* Add test assertions

* Add methods to extract trajectories by replica

* Add test

* Move test file
…f_and_err_from_u_kln (#1324)

* Adds failing test
* Return max of MBAR error (if finite) or bootstrapped error
* Renamed `bar_with_bootstrapped_uncertainty` to `bar_with_pessimistic_uncertainty`
---------

Co-authored-by: Matt Wittmann <[email protected]>
Co-authored-by: Josh Fass <[email protected]>
* Correct docstring in get_cores

* Bitten by this thinking it was atoms and not edges. Top level docs
specify that it is edges

* Fix exception wording as well
…1329)

* Remove unnecessary array copy

Return type of StoredArrays._chunks is incorrect; "chunk" here is
already an array

* Fix return type of _chunks

* Add note on use of advanced indexing

* Fix misleading docstring
* Add failing test for HREX determinism with local MD

* Only impacts local md

* Avoid using global numpy random for seed
* Adds sample_with_context_iter to get frames in memory

* Allows more fine grained control of when data is in memory or on disk

* Avoid reading chunks into memory for storage

---------

Co-authored-by: Matt Wittmann <[email protected]>
* update to 1.20.3-1ubuntu2.1

* Update Dockerfile

Co-authored-by: Forrest York <[email protected]>

---------

Co-authored-by: Forrest York <[email protected]>
* Improves error message of moving atoms too far

* Minor performance improvements, only look at protein/ligand (1/3 of
the atoms in some systems, though don't think this makes much if any
difference)
* Clean up some type hints
* Clean up docstrings
* Adds a test for the failure
* Remove redundant definition

* Move definition to usage site
…he min_cutoff threshold (#1338)

* Store interacting atoms (w_coord == 0.0) on the InitialState, in this implementation they are simple atoms in mol a, the core for non-endstate and mol_b
* Make placeholder_ff.py -- one generic type per potential
* Exercise use of placeholder ff instead of _sc ff in verify_chiral_consistency_of_core
mcwitt and others added 30 commits February 4, 2025 21:15
* Update pre-commit

* Update clang-format

* Update mypy

* Apply changes from clang-format

* Add covariant=True

e.g. consider BoundPotential[HarmonicBond] an instance of BoundPotential[Potential]

* Minor refactor to improve safety

* Remove unused method

* Fix mypy errors
* Fix nightly failures

* Fixes
* Saw this recently with the message 'Reached n_bisections=46 iterations
without achieving min_overlap=0.667. The minimum BAR overlap was 0.678'
* Make indentation consistent

* Add rules

* Apply safe auto-fixes

* Enable UP035, UP006

* Enable UP028

* Enable UP008

* Enable NPY201

* Enable RUF005

* Enable RUF015
* Speeds up Sequential and HREX (by about 2%), not bisection. Bisection requires more energy comparisons, due to the dynamic nature of the schedule.
* Only load each set of frames into memory once
* Evaluate all parameter sets of interest once, reducing the number of neighborlist constructions
…onnected component (#1483)

* Extract largest connected component
* Test on disconnected random trees
* Adds test for triggering barostat failure

* Fix race condition by computing volume one per move

* Depending on the scheduling of thread blocks, could have some blocks
interpret the move as accepted while others think the move was rejected.
This leads to partially modifying the coordinates, breaking the
simulation.
* Seen while running under MPS, though large systems also show this
behavior
* Add missing gpuErrchk calls

* Reduce __int128 energies with CUB

* Remove old accumulation code

* Minor clean up

* Separate out assertions

* Remove usage of shared memory in nonbonded kernel
* switch to use PyMBAR axis convention for u_kln
* Update to PyMBAR 4
* Reference skip_for_mle edge property
* Test skip_for_mle flag {True, False, not set}
* Make sure overlap can't be negative
* Removes deprecated usage of importlib resources, removing warnings.

* Define a single function so we can just change it in one place going
forward
* Removes rbfe_edge_list.py example and related files

* No longer use the csv files for edges or results. Refer to
https://github.com/MCompChem/fep-benchmark for original data

* Add example for running RBFE leg
* Upgrade to Ubuntu 24.04 and Cuda 12.6.3

* Upgradig to Cuda 12.8.0 requires C++ changes that seem to change test
behavior.

* Remove stale comment

* Name file accurately
* Fall back when input mbar overlap ~= 0
* Add test (30s)
* Remove deprecated usage of pytest fixture tmpdir

* Mentioned that it is deprecated in https://docs.pytest.org/en/stable/how-to/tmp_path.html#temporary-directory-location-and-retention

* Reduce number of steps in test

* Having a large number of steps makes the test take longer to complete
without changing the behavior
* Allow q_handle to be set to None
* Fix rebalancing failure due to unconverged MBAR
* Adds artifact directory to CI

* Writes RBFE data to the artifact directory

* Add hash checks of the npz files

* PR Feedback: Use environment variable for output dir

* PR Feedback: Hash directory results

* Enforces that dG predictions match
* Switch to default forcefield to match standard behavior

* Revert "PR Feedback: Hash directory results"

This reverts commit 673dd18.

* PR Feedback: Have three separate hashes

* Results, endstate 0 and endstate 1

* Increase the verbosity of the assertions

* Ensures that we can get the hashes out of CI

* Update hashes

* Switch to Default Forcefield for test

* Shas will need to be updated

* Update hashes

* Update result shas after Pymbar fix
* Oversight in #1454

* Support 3.12 and onward only
* Refactor SMC

* CR comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants