- 27 Nov, 2024 1 commit
-
-
Peter Eastman authored
* CPU platform checkpoints random number generator * Fix Windows compilation error * Another Windows compilation error
-
- 26 Nov, 2024 1 commit
-
-
Peter Eastman authored
* Use Intel OpenCL for CI * Set environment variables * Try to get CI to run * Debugging * Debugging * Fixes for Intel OpenCL
-
- 25 Nov, 2024 1 commit
-
-
Peter Eastman authored
-
- 22 Nov, 2024 1 commit
-
-
Peter Eastman authored
* updateParametersInContext() can modify parameter offsets * Reordering respects parameter offsets * Implemented for CUDA and HIP
-
- 21 Nov, 2024 1 commit
-
-
Peter Eastman authored
* Cleanup of AMOEBA code * Fixed another compilation error * More Windows compilation errors * Fixed incorrect syntax
-
- 20 Nov, 2024 1 commit
-
-
Michael J. Schnieders authored
* Update the AMOEBA OpenMM API for vdW, GK and WCA * Changes needed for the Corrigan et al Generalized Kirkwood model and minor changes to the vdW force to support CpHMD * Add casts to real for uses of POW in GK; Pass force by reference within the WCA kernel * Update swigInputConfig for Amoeba vdW and GK forces * Update TestAPIUnits.testAmoebaVdwForce * Set the units for getSolventDielectric and getSoluteDielectric to None * Update default dispersion offset parameter for the AmoebaWcaDispersionForce * Remove overloaded getParticleParameters and setParticleParameters from AmoebaGeneralizedKirkwoodForce * Update the AmoebaWcaDispersionForce TestAPIUnits tests to reflect using the correct units for the C++ parameter default values; Update the alanine-dipeptide-amoeba-forces to reflect the updated GK model * Move neck descreening constants into AmoebaGeneralizedKirkwoodForceImpl; set the default GK dielecticOffset to 0.09; set the default WCA shctd parameter to 0.82 * Fix Python test cases for WCA and GK * Load AMOEBA/GK parameters into an array of float4 * Cleaned up the AmoebaGeneralizedKirkwoodForce based on feedback from Peter; the one case where backwards compatibility remains a challenge is application of the dielectric offset parameter - in the prior code this was only applied to the nonpolar cavity term, but not to calculation of Born radii; in this revision the dielectric offset is applied to BOTH the nonpolar cavity term and to calculation of Born radii. At this point I can't think of elegant way to maintain backwards compatibility that isn't confusing, nor does it make sense (at least to me) to only apply the concept of the dieletric offset to one aspect (i.e. only to nonpolar cavity or only to Born radii calculation) but not to both. * Remove 'using std::vector' from AmoebaGeneralizedKirkwoodForceImpl.h; divide by 10 instead of multiplying by 0.1f in amoebaGk.cc * Added a parameter called descreenOffset, which is applied during calculation of effective Born radii for GK. The parameter dielectricOffset is only used for the nonpolar cavity term consistent with its prior use. All tests in TestAmoebaGeneralizedKirkwoodForce.h are now backwards compatible with their behavior prior to this PR. * Change two constants in amoebaGk.cc to single precision; Improved the documentation for getNeckConstants in AmoebaGeneralizedKirkwoodForceImpl.h * Fix comment for setTanhRescaling in AmoebaGeneralizedKirkwoodForce.h, Fix comment for setTanhParameters in AmoebaReferenceGeneralizedKirkwoodForce.h; set the type of parameter GeneralizedKirkwoodTanhRescaling to bool in AmoebaGeneralizedKirkwoodForceProxy.cpp; In ReferenceCalcAmoebaGeneralizedKirkwoodForceKernel return references of per particle parameters instead of copies; update AmoebaReferenceKernels.h method signatures for per particle parameters to return const vector references * Minor tweaks to the documentation for the tanh rescaling flag * Improve the comments for the get and setTanhParameters in AmoebaGeneralizedKirkwoodForce.h and AmoebaReferenceGeneralizedKirkwoodForce.h
-
- 11 Nov, 2024 1 commit
-
-
Peter Eastman authored
* Reduced memory use while identifying molecule groups * Further reduce memory use
-
- 01 Nov, 2024 1 commit
-
-
Peter Eastman authored
-
- 31 Oct, 2024 1 commit
-
-
Peter Eastman authored
-
- 23 Oct, 2024 1 commit
-
-
Peter Eastman authored
-
- 16 Oct, 2024 3 commits
-
-
Peter Eastman authored
-
bdenhollander authored
* Benchmark enhancements - Add `--disable-pme-stream` to benchmark.py to easily compare performance without having to build with different default values for `DisablePmeSteam` - Replace utcnow to remove DeprecationWarning - Check for nvidia-smi before attempting to launch it - Mention HIP where appropriate * Adjust option
-
Peter Eastman authored
* Updated Python versions for CI * Install setuptools
-
- 09 Oct, 2024 1 commit
-
-
Peter Eastman authored
-
- 04 Oct, 2024 1 commit
-
-
Will Poole authored
* updated units in energy minimisation user guide * Made units more readable
-
- 02 Oct, 2024 2 commits
-
-
Marc Schuh authored
* added type checking for Simulation.step() * changed how to check if step is an integer number * allow for dicts to be returned from Reporter.describeNextReport remove deprecated getState parameters ( #4437 ) * convert old format into new format * update docstring * nested set comprehension to set.union * Allow 'periodic':None update describeNextReport in all occurrences in the code * debug * update documentation * add a reporter for energyParameterDerivative * Revert "add a reporter for energyParameterDerivative" This reverts commit 1d44dc3f60153defb6252ab56a3b85350fa24826. * Edit documentation
-
Peter Eastman authored
-
- 01 Oct, 2024 2 commits
-
-
Peter Eastman authored
-
Peter Eastman authored
* Use miniforge instead of mambaforge * Fixed version number * Try miniforge-variant
-
- 27 Sep, 2024 1 commit
-
-
Peter Eastman authored
* Added documentation on HIP * Instructions for building HIP on Windows
-
- 24 Sep, 2024 1 commit
-
-
Peter Eastman authored
-
- 23 Sep, 2024 1 commit
-
-
Anton Gorenko authored
* PME_ORDER threads process one atom; * PME_ORDER threads access consecutive addresses; * No need to permute z indices with zindexTable; * finishSpreadCharge is needed only with fixed point charge spreading;
-
- 18 Sep, 2024 1 commit
-
-
Peter Eastman authored
-
- 13 Sep, 2024 1 commit
-
-
Zheng GONG authored
* XTCReporter overwrite existing xtc file * add position size check for xtcfile
-
- 10 Sep, 2024 3 commits
-
-
Peter Eastman authored
-
Peter Eastman authored
-
Peter Eastman authored
* Unified lots of parallel computation code between platforms * Unified test code between platforms * Eliminated duplicated timing code
-
- 06 Sep, 2024 1 commit
-
-
Peter Eastman authored
* Optimize CustomNonbondedForce.updateParametersInContext() * Optimized uploading changed values to GPU * Optimized updateParametersInContext() for lots of bonded forces * Optimized updateParametersInContext() for CustomExternalForce * Optimized updateParametersInContext() for NonbondedForce * Code changes for HIP platform
-
- 05 Sep, 2024 12 commits
-
-
Peter Eastman authored
* CI build for HIP * Removed some unneeded dependencies * Fix test for which libraries are present
-
Peter Eastman authored
Prevent deadlock using CustomCPPForceImpl with multiple GPUs
-
peastman authored
-
Peter Eastman authored
-
Peter Eastman authored
HIP platform
-
Anton Gorenko authored
-
Anton Gorenko authored
CustomCPPForceImpl for writing forces in C++ https://github.com/openmm/openmm/commit/9a0db72 https://github.com/openmm/openmm/pull/4231 Virtual sites can depend on other virtual sites https://github.com/openmm/openmm/commit/71f4b3f Use LF-Middle for LangevinIntegrator and VariableLangevinIntegrator https://github.com/openmm/openmm/commit/86988b9 Merged more code into common platform https://github.com/openmm/openmm/commit/5739788 * Common implementation of BondedUtilities * Common implementation of UpdateStateDataKernel Fixed periodic box changing from rectangular to triclinic https://github.com/openmm/openmm/commit/75d4f29 -
Anton Gorenko authored
Skip neighbor list for very small systems https://github.com/openmm/openmm/pull/4070 Store bounding box sizes in half precision https://github.com/openmm/openmm/commit/2ae50f9 Use large blocks to optimize building the neighbor list https://github.com/openmm/openmm/commit/3955033 Improved sorting of blocks when building neighbor list https://github.com/openmm/openmm/commit/796ffaa Fixed bug in large blocks optimization with triclinic boxes https://github.com/openmm/openmm/commit/4c10732 Optimize sorting of non-uniformly distributed data https://github.com/openmm/openmm/commit/71d9bb1 Co-authored-by:bdenhollander <44237618+bdenhollander@users.noreply.github.com>
-
Anton Gorenko authored
Co-authored-by:Emilio Gallicchio <emilio.gallicchio@gmail.com>
-
Anton Gorenko authored
Use a small kernel for copying interactionCounts to host memory hipMemcpy's CopyDeviceToHost operation has higher latency. Do not set stream and event blocking/spin related flags Let the runtime choose the best option because overriding does not improve performance in most cases. Remove NULL streams and use nonblocking streams explicitly Make HipContext::pushAsCurrent/popAsCurrent thread-safe as they can be called simultaneously from different threads via ContextSelector. Allow peer access to be enabled more than once (if there are multiple simulations one after another, like in benchmark.py). Create peerCopyStream on a corresponding device Use two-speed load balancing for multi GPU runs First 100 steps do coarse balancing, next 100 - fine tuning. Also ignore the slowest device (usually 0) if its fraction has reached 0, (i.e. no work can be transfered to other devices) and balance other devices. Do not download inteactionCounts in parallel nonbonded tasks This is not required because updateNeighborListSize has been called and valid flag changed. Initialize tilesAfterReorder properly It may contain a garbage value, and if it is large then updateNeighborListSize does not force reorder atoms after 25 steps in extremal cases. -
Anton Gorenko authored
Use cuCtxPushCurrent() and cuCtxPopCurrent() for selecting CUDA context https://github.com/openmm/openmm/pull/3258 Fixed uninitialized memory access https://github.com/openmm/openmm/issues/3392 https://github.com/openmm/openmm/pull/3399 Fixed potential invalid memory access See https://github.com/openmm/openmm/pull/3428 Improved temperature reporting for Drude particles https://github.com/openmm/openmm/pull/3486 https://github.com/openmm/openmm/commit/a5e42f5 Fixed race condition with multiple GPUs https://github.com/openmm/openmm/commit/6fb1c8a41edff980862750bc086f6a204eb50941 Use blocking sync when creating events https://github.com/openmm/openmm/commit/fe21d5ee4f14673a4ea38b7244991772a64ceec2 Very minor optimizations https://github.com/openmm/openmm/commit/109f6b2535da4e0c0dd88007d6ca06b4add2ce81 Use PocketFFT https://github.com/openmm/openmm/commit/1dac981a63300a2a53a7925f570995914f7163ed Improved logic for deciding when to reorder atoms https://github.com/openmm/openmm/commit/48664a1f1a4490a4dabc277757545ac070e7b898 Ensure valid atom order after loading a checkpoint https://github.com/openmm/openmm/commit/a056d5a3754e193105409afa12c9f0c9a2d972a2 Improve performance running on multiple GPUs https://github.com/openmm/openmm/commit/0c82c2647de98da5c6dab7bf7a7b8b19705aadc0 Fixed errors when running on multiple GPUs https://github.com/openmm/openmm/commit/ed9df876d43c037c08d4762721e73e5caae086d9 Optimized reducing energy https://github.com/openmm/openmm/commit/2975f44 -
Anton Gorenko authored
* VkFFT-based 3D FFT; * Caching of compiled VkFFT kernels; * Extend FFT tests with more sizes.
-