- 05 Sep, 2024 2 commits
-
-
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
-
- 01 Sep, 2024 1 commit
-
-
Anton Gorenko authored
Port changes in CUDA backend to HIP Fix a warning about arithmetic operations on void* in HipArray::uploadSubArray Fix "Error Initializing context ROCm 5.3.0" https://github.com/StreamHPC/openmm-hip/issues/3 hipDeviceSetCacheConfig returns hipErrorNotSupported on 5.3 Co-authored-by:Nick Curtis <nicholas.curtis@amd.com>
-
- 30 Mar, 2023 1 commit
-
-
Peter Eastman authored
-
- 30 Nov, 2021 1 commit
-
-
Peter Eastman authored
* Use multiple streams to broadcast positions * Use multiple streams to reduce forces * Adds sync between default stream and peer-copy * Minor cleanup Co-authored-by:David Clark <daclark@nvidia.com>
-
- 08 Jan, 2020 1 commit
-
-
peastman authored
* Began creating common compute framework to unify code between CUDA and OpenCL * Began OpenCL implementation of common compute framework * Common implementation of CMMotionRemover * CUDA implementation of common compute interface * Converted HarmonicBondForce to common compute API * Converted standard bonded forces to common compute API * Converted ExpressionUtilities to common compute API * Created ComputeParameterSet * Converted custom bonded forces to common compute API * Converted CustomCentroidBondForce to common compute API * Converted CustomManyParticleForce to common compute API * Moved lots of duplicate code from CudaContext and OpenCLContext to ComputeContext * Converted GayBerneForce to common compute API * Removed obsolete kernels * Converted verlet integrators to common compute API * Converted Langevin and Brownian integrators to common compute API * Converted CustomIntegrator to common compute API * Converted CustomNonbondedForce to common compute API * Removed uses of a deprecated API * Fixed failing test cases * Converted GBSAOBCForce to common compute API * Began converting CustomGBForce to common compute API * Finished converting CustomGBForce to common compute API * Merged duplicated code in CudaIntegrationUtilities and OpenCLIntegrationUtilities * Converted RMSDForce and AndersenThermostat to common compute API * Converted CustomHbondForce to common compute API * Merged scripts for encoding kernel sources * Converted Drude plugin to common compute API * Fixed errors in CMake scripts * Attempt at fixing errors on Windows * Added discussion of common compute API to developer guide * Added Windows export macro for common classes * Fixed error in CMMotionRemover * Ubdated travis to newer Ubuntu version * Fixed errors on CPU OpenCL * Fixed Windows linking errors * Added missing pragma for 32 bit atomics * Replaced long long with mm_long * More fixes to Windows linking * Bug fix
-
- 14 Feb, 2018 1 commit
-
-
Peter Eastman authored
-
- 19 Jan, 2017 1 commit
-
-
Andy Simmonett authored
-
- 13 Oct, 2016 1 commit
-
-
Peter Eastman authored
-
- 03 Sep, 2015 1 commit
-
-
peastman authored
-
- 16 Mar, 2015 1 commit
-
-
peastman authored
-
- 10 Mar, 2015 1 commit
-
-
peastman authored
-
- 06 Mar, 2015 1 commit
-
-
peastman authored
-
- 05 Nov, 2014 1 commit
-
-
peastman authored
-
- 21 Oct, 2014 1 commit
-
-
root authored
-
- 08 Jul, 2013 1 commit
-
-
peastman authored
Platform specific header files get installed. This allows plugins to be built with just an OpenMM installation, not a full source tree.
-
- 15 Apr, 2013 1 commit
-
-
Yutong Zhao authored
-
- 22 Mar, 2013 1 commit
-
-
Peter Eastman authored
-
- 28 Sep, 2012 1 commit
-
-
Peter Eastman authored
-
- 25 Jun, 2012 1 commit
-
-
Peter Eastman authored
-
- 22 Jun, 2012 1 commit
-
-
Peter Eastman authored
-
- 07 Jun, 2012 1 commit
-
-
Peter Eastman authored
-
- 06 Jun, 2012 1 commit
-
-
Peter Eastman authored
-
- 31 May, 2012 1 commit
-
-
Peter Eastman authored
-
- 09 May, 2012 1 commit
-
-
Peter Eastman authored
-
- 14 Feb, 2012 1 commit
-
-
Peter Eastman authored
-
- 18 Jul, 2011 1 commit
-
-
Peter Eastman authored
-
- 12 May, 2011 1 commit
-
-
Peter Eastman authored
-
- 29 Apr, 2011 1 commit
-
-
Peter Eastman authored
-
- 28 Apr, 2011 1 commit
-
-
Peter Eastman authored
-
- 26 Apr, 2011 2 commits
-
-
Peter Eastman authored
-
Peter Eastman authored
-
- 23 Apr, 2011 1 commit
-
-
Peter Eastman authored
-
- 22 Apr, 2011 1 commit
-
-
Peter Eastman authored
-
- 21 Apr, 2011 1 commit
-
-
Peter Eastman authored
-