1. 09 Jul, 2025 1 commit
  2. 02 Jul, 2025 1 commit
  3. 07 Jun, 2025 1 commit
    • Anton Gorenko's avatar
      Use fixed point charge spreading on RDNA4 (#4960) · 1ce5d91d
      Anton Gorenko authored
      * Use fixed point spread charge on RDNA4 as it is faster
      
      Even though RDNA4 (gfx12) has global_atomic_add_f32, micro-benchmarks and OpenMM benchmarks show
      that it is very slow compared to global_atomic_add_u64.
      
      * Add a workaround for fixed point gridSpreadCharge on RDNA4
      
      Workaround for rare cases when few values of pmeGrid are very large and
      incorrect. The cause is unknown. Why this workaround or other irrelevant
      changes like printf help is also unknown.
      1ce5d91d
  4. 02 Jun, 2025 1 commit
  5. 25 May, 2025 1 commit
  6. 24 May, 2025 1 commit
  7. 23 May, 2025 1 commit
  8. 05 May, 2025 1 commit
    • Peter Eastman's avatar
      Common implementation of NonbondedForce (#4922) · 2443dcee
      Peter Eastman authored
      * Use common API for kernels
      
      * More code uses common interface
      
      * Bug fixes
      
      * Unified interface for sorting
      
      * Simplified interface for FFT
      
      * Use common event API for synchronization
      
      * Minor changes to make code more consistent between platforms
      
      * Common implementation of NonbondedForce
      
      * Bug fixes
      
      * Flag to enable list of single pairs
      
      * CUDA and OpenCL use common implementation of NonbondedForce
      
      * Fixed compilation error
      
      * HIP uses common implementation of NonbondedForce
      2443dcee
  9. 02 May, 2025 1 commit
  10. 28 Apr, 2025 2 commits
    • Peter Eastman's avatar
      Unified interface for queues (#4913) · dd320bcf
      Peter Eastman authored
      * Unified interface for queues
      
      * Simplified stream handling in CudaFFT3D
      
      * HIP implementation of ComputeQueue
      dd320bcf
    • Peter Eastman's avatar
      Added computeCurrentPressure() to MonteCarloBarostat (#4881) · bce0c133
      Peter Eastman authored
      * Added computeCurrentPressure() to MonteCarloBarostat
      
      * Use instantaneous temperature to compute pressure
      
      * Added computeCurrentPressure() to MonteCarloAnisotropicBarostat
      
      * Added computeCurrentPressure() to MonteCarloMembraneBarostat
      
      * Fixed compilation error
      
      * Fixed error in typemap
      
      * Added documentation on computing pressure
      
      * Fixed CUDA compilation errors
      
      * Made test case more robust
      
      * Made a test case more robust
      
      * Added computeCurrentPressure() to MonteCarloFlexibleBarostat
      
      * Fixed compilation error
      
      * More documentation on computing pressure
      bce0c133
  11. 23 Apr, 2025 1 commit
  12. 14 Apr, 2025 1 commit
    • Peter Eastman's avatar
      DPDIntegrator (#4799) · de180e4e
      Peter Eastman authored
      * Created DPDIntegrator class
      
      * Reference implementation of DPDIntegrator
      
      * Build neighbor list for DPDIntegrator
      
      * Minor fixes
      
      * Documentation for DPDIntegrator
      
      * Python API for DPDIntegrator
      
      * Preliminary OpenCL implementation of DPDIntegrator
      
      * Enable USE_PERIODIC
      
      * Use updated positions in DPD thermostat
      
      * Working on neighbor list for OpenCL DPDIntegrator
      
      * ReorderListener for particle types
      
      * Serialization for DPDIntegrator
      
      * CUDA implementation of DPDIntegrator
      
      * HIP implementation of DPDIntegrator
      
      * Fixed compile error in Python wrapper
      
      * Fixed compile error in wrappers
      
      * Fixed uninitialized memory in reference neighbor list
      
      * Added DPDIntegrator to C++ API docs
      
      * Fixed incorrect launch size
      
      * Fixed nan in DPD random number generator
      
      * Minor optimizations
      
      * Improved load balancing
      
      * Fixed an indexing error
      
      * Neighbor list uses the maximum cutoff of any force
      
      * Fixed HIP compilation error
      
      * Fixed access to invalid memory
      
      * Added test case for diffusion coefficient
      
      * Try to debug segfaults on CI
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Possible fix
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Use correct block size on CPU OpenCL
      
      * Workaround for bug in Intel's OpenCL for CPUs
      
      * Removed an unnecessary define
      
      * Removed debugging code
      
      * Include Dart
      
      * More Intel workarounds
      
      * Workaround for error in NVIDIA OpenCL
      de180e4e
  13. 14 Mar, 2025 1 commit
  14. 10 Mar, 2025 1 commit
  15. 04 Mar, 2025 1 commit
  16. 16 Dec, 2024 1 commit
  17. 26 Nov, 2024 1 commit
  18. 11 Nov, 2024 1 commit
  19. 23 Sep, 2024 1 commit
    • Anton Gorenko's avatar
      Optimize PME spread charge kernel (#4633) · 8ea42950
      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;
      8ea42950
  20. 10 Sep, 2024 1 commit
    • Peter Eastman's avatar
      Merged parallel code (#4649) · b28d2e66
      Peter Eastman authored
      * Unified lots of parallel computation code between platforms
      
      * Unified test code between platforms
      
      * Eliminated duplicated timing code
      b28d2e66
  21. 06 Sep, 2024 1 commit
    • Peter Eastman's avatar
      Optimize updateParametersInContext() (#4610) · 78902bed
      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
      78902bed
  22. 05 Sep, 2024 1 commit
  23. 19 Aug, 2024 1 commit
  24. 06 Apr, 2024 1 commit
  25. 24 Feb, 2024 1 commit
  26. 23 Feb, 2024 1 commit
  27. 17 Feb, 2024 1 commit
  28. 02 Feb, 2024 1 commit
  29. 18 Jan, 2024 1 commit
  30. 20 Dec, 2023 1 commit
  31. 12 Dec, 2023 1 commit
  32. 24 Oct, 2023 1 commit
  33. 16 Oct, 2023 1 commit
    • Christopher Woods's avatar
      WIP - looking for a way to optimise performance of creating contexts by... · 03ed8ff2
      Christopher Woods authored
      WIP - looking for a way to optimise performance of creating contexts by removing temporary arrays (and their associated mallocs/frees) (#4261)
      
      * Suggesting a "haveSameParameters" function for CustomNonbondedForce which could be
      used to avoid creating temporary copies of arrays when testing if particles are
      the same.
      
      Also updating "getParticleParameters" so that it re-uses the memory of the
      passed vector argument, rather than deallocating and reallocating it
      via a copy.
      
      * Revert "Suggesting a "haveSameParameters" function for CustomNonbondedForce which could be"
      
      This reverts commit e80ec2d2e9981abb90711636bf3a78d0c49e43fc.
      
      * Moved to `thread_local static` as suggested to prevent new vector allocations on each function call.
      
      Updated `getParameters` and `getBondParameters` to re-use the memory from the argument rather
      than re-allocating via the copy.
      
      * Forgot to reuse the memory for the groups...
      
      * Reverted back the manual copies via memcpy as they aren't needed. Looking at the header
      file and benchmarking shows that std::vector does the right thing.
      
      * Confined `thread_local static` only to ForceInfo methods, and have also put declarations
      for multiple variables back onto a single line
      
      * Removed `thread_local static` from the constructor
      
      * Moved constructor declarations back into the for loop
      03ed8ff2
  34. 28 Sep, 2023 1 commit
  35. 16 Sep, 2023 1 commit
  36. 04 Sep, 2023 1 commit
  37. 02 Sep, 2023 1 commit
  38. 01 Sep, 2023 1 commit
  39. 28 Aug, 2023 1 commit