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 139 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
d211aaf
Test additional MCS pruning heuristics if `connected_core = True` (#…
proteneer May 23, 2024
5bd58bb
Adds normalized kl divergence metric (#1314)
badisa May 29, 2024
847a1d9
Avoid reading in an invalid sample, triggering an invalid memory acce…
badisa May 29, 2024
e16ab22
Add Potential::execute_batch_sparse (#1308)
mcwitt May 29, 2024
1f8387e
Adopt dummy values for segmented sumexp required to compile with late…
badisa May 29, 2024
1791077
Use fast real to int64 conversion for all recent GPUs (#1312)
badisa May 30, 2024
a821ddc
Adds verify_chiral_consistency_of_core to verify cores quickly (#1315)
badisa May 31, 2024
b90b37c
Reduce cost of u_kl computation in HREX (#1309)
mcwitt May 31, 2024
be16478
Improve performance of connected core MCS (#1317)
proteneer May 31, 2024
a4136a4
Fix nightly test (#1319)
mcwitt May 31, 2024
0ae3daf
Remove HREX replica-state distribution convergence plot (#1316)
mcwitt Jun 4, 2024
c19de3a
Fix off-by-one misalignment of permutations and frames in HREX output…
mcwitt Jun 5, 2024
87cebc9
Clean up DHFR nonbonded tests (#1322)
badisa Jun 5, 2024
55c3633
Speed up energy decomposition (#1323)
badisa Jun 6, 2024
c30fffd
Add convenience methods to extract ligand trajectories by replica (#1…
mcwitt Jun 6, 2024
7109cd9
Hardcode n_frames_per_iter to 1 (#1325)
mcwitt Jun 7, 2024
c9191b5
Increment frame message to be one indexed (#1327)
badisa Jun 8, 2024
ff9cb5f
Resolve inconsistency between bar_with_bootstrapped_uncertainty and d…
badisa Jun 10, 2024
5a5b173
Correct docstring in get_cores (#1328)
badisa Jun 11, 2024
c63bc93
Remove unnecessary array copy in `extract_trajectories_by_replica` (#…
mcwitt Jun 12, 2024
8240243
Log wall time per frame (#1330)
mcwitt Jun 20, 2024
02d5366
Fixes Local MD HREX determinism (#1331)
badisa Jun 20, 2024
6243305
Moves OpenMM imports to function calls (#1333)
badisa Jun 21, 2024
2abb1c0
Add method to get samples from context without storing to disk (#1334)
badisa Jun 25, 2024
b230ca7
update to 1.20.3-1ubuntu2.1 (#1335)
jkausrelay Jun 28, 2024
1a726b1
Minor improvements to optimize_coordinates (#1336)
badisa Jul 1, 2024
5e9d8c1
Remove redundant definition (#1337)
mcwitt Jul 1, 2024
b7d5550
Minimize InitialStates only considering fully interacting atoms for t…
badisa Jul 3, 2024
8e2f36e
Perf/verify_chiral_consistency_of_core (#1342)
maxentile Jul 16, 2024
ab3def7
Fixes bar_with_pessimistic_uncertainty convergence error (#1344)
badisa Jul 16, 2024
d7a3abb
Modify Minimization to avoid minimizing while mols are non-interactin…
badisa Jul 17, 2024
3c5a025
Revert "Modify Minimization to avoid minimizing while mols are non-in…
badisa Jul 17, 2024
433e071
Modified Minimization while keeping number of host atoms constant (#1…
badisa Jul 19, 2024
b64ebd6
Fixes conditional that triggered warning incorrectly (#1348)
badisa Jul 22, 2024
30e2a50
Improve nonbonded decoupling protocol for single topology transformat…
mcwitt Jul 23, 2024
3d18a73
Add support for specifying an initial mapping to get_cores (#1254)
proteneer Jul 23, 2024
1e5b579
Add atom mapping arguments to restrict the number of connected compon…
mcwitt Jul 24, 2024
5ea753f
Add utility to get trajectories by state (#1350)
badisa Jul 24, 2024
0790759
Add lambda schedule tuned to Bisection (#1347)
badisa Jul 25, 2024
bee0aea
Move template instantiation to cu file instead of header (#1354)
tkramer-motion Jul 25, 2024
85bbc90
Add failing test case of minimization (#1351)
badisa Jul 26, 2024
3a174e6
Fixes Free Energy benchmarks (#1355)
badisa Jul 30, 2024
db56acb
get_cores raises exception when total nodes visits exceed max_visits …
badisa Aug 6, 2024
1a8b412
Add option disallowing atom mappings with no chirally-valid dummy anc…
proteneer Aug 6, 2024
51b6a5d
Correctly report nodes visited (#1359)
badisa Aug 6, 2024
a743102
Refactor chiral restraint setup to avoid repeated work (#1360)
mcwitt Aug 13, 2024
030faa2
Clean up atom mapping code (#1362)
badisa Aug 15, 2024
c5da44d
Remove guard threshold from local minimize (#1364)
badisa Aug 20, 2024
ea7af89
Removes Openeye conda channel from environment.yml (#1367)
badisa Aug 26, 2024
5478990
Remove L-W ixn group and merge w/P-L group (#1372)
jkausrelay Sep 4, 2024
b4bd72b
Assert that states differ only in their parameters (#1366)
mcwitt Sep 9, 2024
b8e0589
Add plotting to benchmarks (#1375)
badisa Sep 11, 2024
e7b319c
Adds test that verifies Neighborlist Tile Density (#1368)
badisa Sep 11, 2024
dcb69ea
Removes code that assumes ordering of potentials (#1374)
badisa Sep 11, 2024
aafe5cb
Fixes failing nightly test (#1376)
badisa Sep 12, 2024
f51ff35
Add test verify protein system waters are constant(#1378)
badisa Sep 12, 2024
39015e3
Revert potential ordering introduced in #1374 (#1379)
badisa Sep 13, 2024
0430d50
Close Matplotlib figures after writing (#1377)
badisa Sep 13, 2024
8e46cf8
Updates docker and gitignore (#1381)
badisa Sep 16, 2024
edec138
Release GIL on pybind calls to Context (#1370)
badisa Sep 16, 2024
60d8230
remove extraneous summed potential now that the L-E ixn groups are me…
jkausrelay Sep 18, 2024
758725e
Revert "Release GIL on pybind calls to Context (#1370)" (#1386)
badisa Sep 20, 2024
4624f03
Clean up HREX, BDExchangeMover and TIBDExchangeMover (#1391)
badisa Sep 23, 2024
149dd0e
Allocate memory only once in multiple_step methods (#1389)
badisa Sep 23, 2024
be389f9
Update jax to 0.4.28 to fix memory corruption issue (#1388)
jkausrelay Sep 24, 2024
e57b60a
Perform shallow clones of Pybind/Eigen (#1392)
badisa Sep 24, 2024
3cd2a97
Mark CPU only Chiral tests as nocuda (#1394)
badisa Sep 25, 2024
303b7ec
Shallow clone of OpenMM (#1395)
badisa Sep 26, 2024
3704756
Fix Chiral restraint funcs when there are no chiral restraints (#1396)
badisa Sep 26, 2024
dbb45e6
Updates to EnvironmentBCCHandler (#1390)
jkausrelay Sep 27, 2024
170759e
Remove application code from rbfe module (#1398)
mcwitt Oct 2, 2024
eda5a0d
Add InteractionGroupTraj (#1383)
maxentile Oct 2, 2024
3237371
Fix 1-4 scaling factors for both ligand and protein. (#1399)
proteneer Oct 3, 2024
80e4aae
Perform restrained minimization on InitialStates (#1393)
badisa Oct 3, 2024
8982b81
Adds AM1BCC forcefields for Smirnoff 2.0 and 2.2 (#1400)
badisa Oct 8, 2024
28a0866
Ensure permutation equivariance of `oe_assign_charges` (#1397)
maxentile Oct 9, 2024
49a9da7
Reduce MAX_FORCE_NORM by factor of 5 (#1403)
badisa Oct 11, 2024
f6356ea
Fixes Support for Disabling Optimizations (#1402)
badisa Oct 11, 2024
915cc7b
Raise exception on unstable simulations (#1401)
badisa Oct 11, 2024
78bab8a
Enable Serialization of PrecomputedChargeHandler (#1404)
badisa Oct 15, 2024
3d0ca7e
Adds support for different minimization schemes (#1405)
badisa Oct 22, 2024
4a21620
Protocol overlap utils (#1387)
maxentile Oct 22, 2024
8b07872
Mark CPU only tests with nocuda (#1408)
badisa Oct 23, 2024
eb7d8d7
Remove OpenMM imports from top level (#1409)
badisa Oct 23, 2024
64f8e58
Accept conformer id in utilities (#1407)
mcwitt Oct 23, 2024
5e80192
Move more tests to nocuda (#1411)
badisa Oct 24, 2024
cf67140
store bond elements in EnvironmentBCCHandler (#1410)
jkausrelay Oct 31, 2024
d859b55
Revert 1-4 charge scaling change (#1417)
mcwitt Nov 2, 2024
e7ff8ba
Fixes incorrect print in minimizer (#1414)
badisa Nov 4, 2024
be34fbf
Best-first MCS search (#1415)
mcwitt Nov 5, 2024
344f11c
Bugfix for improper parameterization and canonicalization. (#1418)
proteneer Nov 7, 2024
70bec1d
Add support for chiral volume conversions (#1406)
proteneer Nov 7, 2024
1e1ce2f
Fix nightly tests. (#1419)
proteneer Nov 8, 2024
205b1f0
Split of propers and impropers from torsions, add ST symmetry test. (…
proteneer Nov 13, 2024
374a2de
Stagger interpolation for core torsions that are turning on or off. (…
proteneer Nov 13, 2024
ccc19fe
Enables minimizing systems with a subset of atoms restrained (#1421)
badisa Nov 15, 2024
49a1358
Add Titles and lambda labels to HREX plots (#1429)
badisa Nov 19, 2024
8bf96fc
Avoid uninitialized warning in newer GCC (#1432)
badisa Dec 3, 2024
97106b6
Upgrade to Cuda 12.4.1 (#1427)
badisa Dec 3, 2024
e7e9223
Handle Water Sampling with AbsoluteFreeEnergy (#1431)
badisa Dec 10, 2024
7f188b1
Reduce Final Docker Image Size (#1435)
badisa Dec 10, 2024
c4eabfb
Fixes failing nightly tests (#1436)
badisa Dec 12, 2024
5556d0e
Env handler smirks (#1433)
jkausrelay Dec 16, 2024
f4721d9
Double Max Force Norm Threshold (#1438)
badisa Dec 17, 2024
92e25e0
Optimize Lambda Schedule Targeting Overlap Between Windows (#1426)
badisa Dec 17, 2024
4e2d769
Pip install OpenMM (#1437)
badisa Dec 17, 2024
551b4b0
Switch to newer CMake API for finding python (#1439)
badisa Dec 18, 2024
abf5816
Add option to enable REST in single-topology transformations with HRE…
mcwitt Dec 18, 2024
5f41936
Bumps Copyright for 2025 (#1444)
badisa Jan 1, 2025
69e9347
Improve Caching of CI Container (#1441)
badisa Jan 2, 2025
eb4b79d
Move pre-commit to CI requirements (#1447)
badisa Jan 3, 2025
ca26f07
Enforce Existing C++ Conventions in Clang Format (#1442)
badisa Jan 6, 2025
43b505f
Clean up SingleTopology code (#1445)
badisa Jan 6, 2025
ffe4f31
Moves linting Job to CPU instance (#1449)
badisa Jan 7, 2025
b033807
Cache AM1BCC charges (#1451)
badisa Jan 14, 2025
e737b86
Supports installing Timemachine from Tarball (#1443)
badisa Jan 21, 2025
4657b53
Convert uM to kJ using same temperature as simulations (#1452)
badisa Jan 21, 2025
a0a452c
Remove legacy code related to chiral conversion (#1453)
mcwitt Jan 22, 2025
a47e20e
Update to use miniforge (#1455)
jkausrelay Jan 23, 2025
8f524de
Add nn handlers (#1456)
jkausrelay Jan 23, 2025
a319966
Bump to Python 3.12 (#1454)
badisa Jan 24, 2025
82251f5
Purge attic (#1457)
mcwitt Jan 24, 2025
e8afd79
Remove versioneer (#1460)
mcwitt Jan 24, 2025
7bc394d
Update packaging command in CI (#1461)
mcwitt Jan 25, 2025
30d4806
Replace black, flake8, isort with ruff (#1459)
mcwitt Jan 27, 2025
4d484d4
Fix Invalid Memory Write in TIBD Exchange Mover (#1464)
badisa Jan 28, 2025
8c60d83
Minor Clean up + Dead Code Removal (#1465)
badisa Jan 28, 2025
caaaad2
Consistently test with Compute-sanitizer (#1466)
badisa Jan 29, 2025
58b8a6d
Rename DualTopologyMinimization -> DualTopology (#1467)
proteneer Jan 30, 2025
4fc0c03
Upgrade to Numpy 2 (#1462)
badisa Jan 30, 2025
af41dd0
Use AM1BCCELF10 for NNHandler (#1468)
jkausrelay Jan 31, 2025
b330890
Assert energies are valid before HREX swaps (#1469)
badisa Feb 3, 2025
9cd41bd
Refactor VacuumSystem and HostGuestSystem (#1471)
proteneer Feb 3, 2025
0565716
Restore dropped pycodestyle, Pyflakes rules in ruff (#1473)
mcwitt Feb 3, 2025
f331839
Move slow tests to nightly (#1470)
jkausrelay Feb 4, 2025
a8fdf2a
Refactor builder signatures and remove convert_* functions (#1476)
proteneer Feb 5, 2025
3ee00e7
Update linters (#1472)
mcwitt Feb 5, 2025
b46f936
Fix nightly test failures (#1478)
proteneer Feb 5, 2025
124d5fd
Avoids warning if hit end of bisection and reach min overlap (#1480)
badisa Feb 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,8 @@ BinPackArguments: false
BinPackParameters: false
AccessModifierOffset: -4
ReflowComments: false
AlignTrailingComments:
Kind: Always
OverEmptyLines: 2
FixNamespaceComments: true
PointerAlignment: Right
13 changes: 9 additions & 4 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,19 @@
**/.Python/
**/build/
**/dist/
*.egg-info/
**/*.egg-info/
**/.coverage/
**/coverage/
**/.ipynb_checkpoints*/
**/attic/
**/examples/
**/coverage/
**/tests/
**/.pytest*
**/.mypy*
**/.clang*
**/.hypothesis/
Dockerfile
.dockerignore

.gitlab-ci.yml

# Git Files
**/.git*
Expand All @@ -36,3 +37,7 @@ oe_license.txt
*.svg
*.pkl
*.png

# nsys files
**/*.nsys-rep
**/*.sqlite
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,6 @@ e21cbb8f048840dc24723b60ca3351dbeac8d207

# Normalize numpy vs. jax.numpy imports
1d49b8f5159d8454e0d14daa441bbade01a3dc4d

# Apply formatting changes from switch to ruff
a882ce08ddc00fb3a6b3dd2a28b2f1ff6a7d9829
1 change: 0 additions & 1 deletion .gitattributes

This file was deleted.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ oe_license.txt
*.swp
.ipynb_checkpoints/
build/
dist/
*.egg-info/
.coverage*
.hypothesis/

# Nsys profiling files
*.sqlite
Expand Down
60 changes: 38 additions & 22 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,26 @@ workflow:

docker_build:
stage: build-docker
image: docker:20.10
image: docker:27.3.1
tags:
- gpu
- docker
- aws-tardis-gpu
script:
- DOCKER_HOST=tcp://localhost:2375 docker login -u $CI_REGISTRY_USER -p $CI_JOB_TOKEN $CI_REGISTRY
# Prune images older than 2 days
- docker system prune --filter "until=48h" -f -a
# Pull the docker containers
- docker pull $CI_REGISTRY_IMAGE:$CI_DEFAULT_BRANCH || true
- docker pull $DOCKER_TAG || true
- docker pull $DOCKER_TAG || docker pull $CI_REGISTRY_IMAGE:$CI_DEFAULT_BRANCH || true
# Cache from default branch and most recent image to get most out of the caching
- docker build -t $DOCKER_TAG --cache-from $CI_REGISTRY_IMAGE:$CI_DEFAULT_BRANCH,$DOCKER_TAG --target timemachine_ci .
- docker build -t $DOCKER_TAG --cache-from $DOCKER_TAG --cache-from $CI_REGISTRY_IMAGE:$CI_DEFAULT_BRANCH --cache-to type=inline --target timemachine_ci .
- docker push $DOCKER_TAG

lint:
stage: lint
image: $DOCKER_TAG
needs: ["docker_build"]
# Specify cuda arch, so that a GPU is not required to detect the cuda arch.
variables:
CUDA_ARCH: 75
tags:
- timemachine
- gpu
- aws-tardis-cpu
rules:
- if: $CI_EXTERNAL_PULL_REQUEST_IID
- if: $NIGHTLY_TESTS
Expand All @@ -52,8 +50,7 @@ nocuda-tests:
image: $DOCKER_TAG
needs: ["lint"]
tags:
- timemachine
- cpu
- aws-tardis-cpu
rules:
- if: $CI_EXTERNAL_PULL_REQUEST_IID
script:
Expand All @@ -66,13 +63,34 @@ nocuda-tests:
when: on_success
expire_in: 1 week

packaging:
stage: lint
image: $DOCKER_TAG
needs: ["docker_build"]
tags:
- aws-tardis-cpu
rules:
- if: $CI_EXTERNAL_PULL_REQUEST_IID
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
# Specify cuda arch, so that a GPU is not required to detect the cuda arch.
variables:
CMAKE_ARGS: -DCUDA_ARCH=75
script:
- pip install build==1.2.2.post1
- python -m build --sdist
- pip install dist/timemachine-*.tar.gz
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME-packaging"
paths:
- dist/
expire_in: 1 week

nogpu-tests:
stage: test
image: $DOCKER_TAG
needs: ["lint"]
tags:
- timemachine
- cpu
- aws-tardis-cpu
rules:
- if: $CI_EXTERNAL_PULL_REQUEST_IID
# Build custom ops with fixed cuda arch, to test C++ that is CPU only
Expand All @@ -93,7 +111,7 @@ memory-tests:
image: $DOCKER_TAG
needs: ["lint"]
tags:
- gpu
- aws-tardis-gpu
rules:
- if: $CI_EXTERNAL_PULL_REQUEST_IID
script:
Expand All @@ -111,7 +129,7 @@ unit-tests:
image: $DOCKER_TAG
needs: ["lint"]
tags:
- gpu
- aws-tardis-gpu
rules:
- if: $CI_EXTERNAL_PULL_REQUEST_IID
script:
Expand All @@ -129,7 +147,7 @@ nightly-tests:
image: $DOCKER_TAG
needs: ["lint"]
tags:
- gpu
- aws-tardis-gpu
rules:
- if: $NIGHTLY_TESTS
script:
Expand All @@ -147,7 +165,7 @@ nightly-memcheck-tests:
image: $DOCKER_TAG
needs: ["lint"]
tags:
- gpu
- aws-tardis-gpu
rules:
- if: $NIGHTLY_TESTS
script:
Expand All @@ -165,8 +183,7 @@ nightly-tests-nocuda:
image: $DOCKER_TAG
needs: ["lint"]
tags:
- timemachine
- cpu
- aws-tardis-cpu
rules:
- if: $NIGHTLY_TESTS
script:
Expand All @@ -184,8 +201,7 @@ nightly-tests-nogpu:
image: $DOCKER_TAG
needs: ["lint"]
tags:
- timemachine
- cpu
- aws-tardis-cpu
rules:
- if: $NIGHTLY_TESTS
# Build custom ops with fixed cuda arch, to test C++ that is CPU only
Expand Down
42 changes: 15 additions & 27 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,45 +1,35 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
rev: v5.0.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace

- repo: https://github.com/pycqa/isort
rev: 5.12.0
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.9.3
hooks:
- id: isort
name: isort (python)

- repo: https://github.com/psf/black
rev: 23.9.1
hooks:
- id: black

- repo: https://github.com/pycqa/flake8
rev: 6.1.0
hooks:
- id: flake8
exclude: '^timemachine/cpp'
- id: ruff
args: [ --fix ]
- id: ruff-format

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.5.1
rev: v1.14.1
hooks:
- id: mypy
# include dependencies that export types (i.e. have a py.typed file in the root module) so that they can be used
# by mypy in pre-commit
additional_dependencies:
- "jax==0.4.14"
- "numpy==1.23.5"
- "scipy==1.10.1"
- "matplotlib==3.7.1"
- "jax==0.4.28"
- "numpy==2.2.2"
- "scipy==1.15.1"
- "matplotlib==3.10.0"

# Exclude custom_ops.py to work around clash with stub file when typechecking
exclude: '^timemachine/lib/custom_ops.py$'

- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v16.0.6
rev: v19.1.7
hooks:
- id: clang-format
types_or: [c, c++, cuda]
Expand All @@ -59,16 +49,14 @@ repos:
pass_filenames: false
files: '^timemachine/cpp/src/wrap_kernels.cpp$'

exclude: >
(?x)
exclude: |
(?x)(
\.pdb$
| \.sdf$
| \.proto$
| \.xml$
| /vendored/
| ^attic/
| ^timemachine/ff/params/
| ^timemachine/_vendored/
| ^versioneer\.py$
| ^timemachine/_version\.py$
| ^timemachine/lib/custom_ops.pyi$
)
Loading