1. 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
  2. 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
  3. 17 Aug, 2022 1 commit
  4. 22 Jul, 2022 1 commit
    • Adel Johar's avatar
      Final HIP Platform implementation for AMD GPUs on ROCm (#3338) · a39fa14a
      Adel Johar authored
      
      
      * Support kernel files with extensions of any length (like .hip)
      
      * Do not allow to replace symbols in single-line comments
      
      * Add OPENMM_BUILD_COMMON CMake option
      
      It allows to build and install common platform files even if
      CUDA or OpenCL platforms are not built.
      This is required for HIP platform (openmm-hip) if ROCm OpenCL
      packages are not installed.
      
      * Add an option for Python wrapper to install into user packages
      
      OPENMM_PYTHON_USER_INSTALL is OFF be default.
      
      * Support FFT backends in Amoeba plugin
      
      The HIP platform supports FFT backends, this commit moves
      findLegalFFTDimension to ComputeContext, so platforms can have their own
      implementations.
      
      * Compatibility for common platform w/ new HIP platform
      
      * Do not use volatile with private and local AtomData parameters on HIP
      
      The generated code is not optimal, for example, the compiler generates
      flat_load instructions instead of ds_read.
      
      * Tune launch bounds for PME grid-related kernels and add WA for RDNA
      
      Force the compiler to use all registers for gridSpreadCharge and
      gridInterpolateForce by limiting max waves per EU to 1 on CDNA GPUs,
      RDNA GPUs work better without it.
      
      * Optimize atom data structs in GBSA and Amoeba on HIP
      
      Manually rearrange fields, add paddings and force alignments to
      have faster accesses to shared memory: ds_read and ds_write may
      work slower if addresses are not aligned by 16 bytes.
      Co-authored-by: default avatarAnton Gorenko <anton@streamhpc.com>
      Co-authored-by: default avatarNick Curtis <nicholas.curtis@amd.com>
      a39fa14a
  5. 07 Mar, 2022 1 commit
  6. 22 May, 2021 1 commit
    • Peter Eastman's avatar
      Converted AMOEBA to common platform (#3120) · 8e8923a7
      Peter Eastman authored
      * Began converting AMOEBA to common platform
      
      * Beginning of OpenCL platform for AMOEBA
      
      * Converted AmoebaVdwForce to common platform
      
      * Cleaned up reference AMOEBA tests
      
      * Began converting AmoebaMultipoleForce to common platform
      
      * Continue converting AmoebaMultipoleForce to common platform
      
      * Bug fixes
      
      * Bug fix
      
      * Continue converting AmoebaMultipoleForce to common platform
      
      * Converting AmoebaMultipoleForce and AmoebaGeneralizedKirkwoodForce to common platform
      
      * Converting AmoebaMultipoleForce and AmoebaGeneralizedKirkwoodForce to common platform
      
      * Creating OpenCL version of AmoebaMultipoleForce and AmoebaGeneralizedKirkwoodForce
      
      * Creating OpenCL version of AmoebaMultipoleForce and AmoebaGeneralizedKirkwoodForce
      
      * Creating OpenCL version of AmoebaMultipoleForce and AmoebaGeneralizedKirkwoodForce
      
      * Converted arrays from real3 to real
      
      * Bug fix to OpenCL AmoebaGeneralizedKirkwoodForce
      
      * Fixes for AMD GPUs
      
      * Began converting HippoNonbondedForce to common platform
      
      * Continuing to convert HippoNonbondedForce to common platform
      
      * Continuing to convert HippoNonbondedForce to common platform
      
      * Working on unifying PME kernels
      
      * Fixed error on devices without 64 bit atomics
      
      * Unified PME kernels
      
      * Converted HippoNonbondedForce to common platform
      
      * Creating OpenCL implementation of HippoNonbondedForce
      
      * Continuing OpenCL implementation of HippoNonbondedForce
      
      * Mostly finished OpenCL implementation of HippoNonbondedForce
      
      * Eliminated three component vector types in host code
      
      * Fix errors on CPU OpenCL
      
      * Skip double precision tests for AMOEBA on OpenCL
      
      * Bug fixes
      
      * Bug fixes
      
      * Fixed compilation error
      8e8923a7
  7. 13 Jul, 2018 1 commit
  8. 29 May, 2018 1 commit
  9. 06 Feb, 2018 1 commit
  10. 02 Feb, 2018 1 commit
  11. 23 Feb, 2017 1 commit
  12. 08 Feb, 2017 1 commit
  13. 13 May, 2016 1 commit
  14. 11 May, 2016 1 commit
  15. 11 Dec, 2015 1 commit
  16. 05 Nov, 2015 1 commit
  17. 02 Oct, 2015 1 commit
  18. 15 Apr, 2015 1 commit
  19. 03 Apr, 2015 3 commits
  20. 14 Jan, 2015 1 commit
  21. 08 Jan, 2015 1 commit
  22. 27 Jun, 2013 1 commit
  23. 22 Mar, 2013 1 commit
  24. 14 Dec, 2012 1 commit
  25. 17 Oct, 2012 1 commit
  26. 23 May, 2012 1 commit
  27. 13 Dec, 2011 1 commit
  28. 07 Oct, 2011 1 commit
  29. 09 Sep, 2011 1 commit
  30. 08 Sep, 2011 1 commit
  31. 05 Jul, 2011 1 commit
  32. 27 May, 2011 1 commit
  33. 03 Sep, 2010 1 commit
  34. 20 Jul, 2010 1 commit
  35. 10 Jun, 2010 1 commit
  36. 09 Jun, 2010 1 commit
  37. 07 May, 2010 1 commit
  38. 26 Apr, 2010 1 commit