1. 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
  2. 01 Feb, 2021 1 commit
  3. 16 Jun, 2019 1 commit
  4. 08 Oct, 2018 1 commit
  5. 26 Sep, 2017 1 commit
  6. 08 Sep, 2016 2 commits
  7. 29 Jun, 2016 1 commit
  8. 24 Mar, 2016 1 commit
  9. 26 Jan, 2016 1 commit
  10. 12 Dec, 2015 1 commit
  11. 04 Nov, 2015 1 commit
  12. 07 Oct, 2015 1 commit
  13. 05 Aug, 2015 1 commit
  14. 05 Jul, 2015 1 commit
  15. 09 Feb, 2015 1 commit
  16. 07 Feb, 2015 1 commit
  17. 21 Jul, 2014 2 commits
  18. 17 Jul, 2014 1 commit
  19. 27 May, 2014 2 commits
  20. 10 Apr, 2014 1 commit
  21. 04 Apr, 2014 1 commit
  22. 26 Feb, 2014 1 commit
  23. 16 Jan, 2014 1 commit
  24. 23 Aug, 2013 1 commit
  25. 02 Aug, 2013 1 commit
  26. 01 Aug, 2013 2 commits
  27. 17 May, 2013 1 commit
  28. 21 Nov, 2012 1 commit
  29. 30 Mar, 2012 1 commit
  30. 21 Mar, 2012 1 commit
  31. 08 Feb, 2012 1 commit
  32. 07 Nov, 2011 1 commit
  33. 23 Mar, 2011 1 commit
  34. 21 Mar, 2011 1 commit
  35. 28 Feb, 2011 1 commit
  36. 26 Feb, 2011 1 commit