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. 30 Jun, 2022 1 commit
    • Peter Eastman's avatar
      Use PocketFFT (#3667) · 1dac981a
      Peter Eastman authored
      * Use PocketFFT instead of FFTW
      
      * Minor cleanup
      
      * Use PocketFFT instead of fftpack for reference platform
      
      * Remove FFTW as a dependency
      
      * Converted a test case to use PocketFFT
      
      * Fixed an incorrect comment
      1dac981a
  3. 17 Mar, 2022 1 commit
  4. 06 Dec, 2021 1 commit
  5. 17 Jul, 2021 1 commit
  6. 16 Jul, 2021 1 commit
  7. 23 Jun, 2021 1 commit
  8. 11 Jan, 2021 1 commit
  9. 02 Jun, 2020 1 commit
  10. 01 Jun, 2020 1 commit
  11. 30 Apr, 2020 1 commit
  12. 28 Mar, 2020 1 commit
  13. 08 Jan, 2020 1 commit
    • peastman's avatar
      Common compute framework to unify CUDA and OpenCL code (#2488) · edbc8407
      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
      edbc8407
  14. 30 Sep, 2019 1 commit
  15. 12 Apr, 2019 1 commit
  16. 07 Nov, 2018 1 commit
  17. 30 Jun, 2018 1 commit
  18. 03 Mar, 2018 1 commit
  19. 27 Apr, 2017 1 commit
  20. 23 Feb, 2017 1 commit
  21. 17 Feb, 2017 1 commit
  22. 16 Feb, 2017 1 commit
  23. 15 Feb, 2017 2 commits
  24. 03 Feb, 2017 1 commit
  25. 06 Oct, 2016 1 commit
  26. 19 Nov, 2015 1 commit
  27. 11 Nov, 2015 1 commit
  28. 04 Nov, 2015 1 commit
  29. 01 Nov, 2015 1 commit
  30. 29 Oct, 2015 1 commit
  31. 26 Oct, 2015 1 commit
    • Robert T. McGibbon's avatar
      Rework .travis.yml to increase speed, especially for OpenCL · 2e3d3de8
      Robert T. McGibbon authored
      New advanced options OPENMM_BUILD_CPU_TESTS, OPENMM_BUILD_SERIALIZATION_TESTS,
      OPENMM_BUILD_REFERENCE_TESTS were added to the cmake configuration and disabled
      in the OpenCL test matrix element to increase speed. Redundant or unnecessary
      apt packages removed from the travis installation.
      2e3d3de8
  32. 01 Oct, 2015 1 commit
  33. 24 Sep, 2015 1 commit
  34. 22 Sep, 2015 1 commit
  35. 31 Aug, 2015 1 commit
  36. 27 Aug, 2015 1 commit
  37. 13 Aug, 2015 3 commits