1. 06 Apr, 2024 1 commit
  2. 23 Feb, 2024 1 commit
  3. 17 Feb, 2024 1 commit
  4. 02 Feb, 2024 1 commit
  5. 28 Sep, 2023 1 commit
  6. 16 Sep, 2023 1 commit
  7. 02 Aug, 2023 1 commit
    • Emilio Gallicchio's avatar
      Draft integration of the Alchemical Transfer Method (ATM) plugin (#4110) · d8c67699
      Emilio Gallicchio authored
      
      
      * Draft integration of the Alchemical Transfer Method (ATM) plugin
      
      * Attempt to store and retrieve forces--does not compile
      
      * Implement addForce()/getForce() methods
      
      * Throw exception when specifying properties without a Platform (#4130)
      
      * Fixed DOF calculation for NoseHooverIntegrator (#4128)
      
      * Fix variance in documentation of VerletIntegrator (#4138)
      
      * Python API for ATMForce
      
      * Fixed compilation error
      
      * Minor cleanup of formatting and documentation
      
      * Files for ATMForce test cases
      
      * More cleanup
      
      * Removed variable groups
      
      * Test ATMForce with two particles
      
      * More tests for ATMForce plus fixes
      
      * Added missing header
      
      * Rework interface to pass displacements as vector of parameters
      
      * Revert "Rework interface to pass displacements as vector of parameters"
      
      This reverts commit 5e092031f31ded1137b677588f007add1c2d6f82.
      
      * Test with nonbonded force
      
      * Allow energy expression to be customized
      
      * Optional displacements at the initial state
      
      * Fixed compilation error build C wrapper
      
      * Address edge case of default energy expression
      
      * Consistent naming of the variables of the displacement states
      
      * Test of soft core function of the default energy expression
      
      * Mark addForce() as taking ownership
      
      * initial python test for ATMForce
      
      * Test custom expressions
      
      * Expanded C++ API documentation for ATMForce
      
      * Energy parameter derivatives
      
      * Serialization for ATMForce
      
      * Documentation, cleanup, and fixes
      
      * Fixed typos
      
      * getPerturbationEnergy() computes energy
      
      * Another test case
      
      * Minor edits
      
      ---------
      Co-authored-by: default avatarPeter Eastman <peastman@stanford.edu>
      Co-authored-by: default avatarMichael Plainer <plainer@ymail.com>
      d8c67699
  8. 21 Jul, 2023 1 commit
  9. 18 May, 2023 1 commit
  10. 17 Aug, 2022 1 commit
  11. 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
  12. 07 Mar, 2022 1 commit
  13. 04 Mar, 2022 1 commit
  14. 27 Jan, 2022 1 commit
    • Peter Eastman's avatar
      CustomNonbondedForce supports computed values (#3412) · 33c694d4
      Peter Eastman authored
      * Reference implementation of computed values for CustomNonbondedForce
      
      * CPU implementation of computed values for CustomNonbondedForce
      
      * Common implementation of computed values for CustomNonbondedForce
      
      * Serialization of computed values
      
      * ForceField supports computed values
      33c694d4
  15. 10 Jan, 2022 1 commit
  16. 20 Nov, 2021 1 commit
  17. 30 Sep, 2021 1 commit
  18. 14 Jun, 2021 1 commit
  19. 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
  20. 21 May, 2021 1 commit
  21. 19 Mar, 2021 1 commit
  22. 28 Feb, 2021 1 commit
    • Peter Eastman's avatar
      Point based geometric functions for custom forces (#3037) · a85c2428
      Peter Eastman authored
      * Began implementing geometric functions on points
      
      * Started common implementation of point functions
      
      * Completed implementation of point functions for CustomCompoundBondForce
      
      * Implemented point functions for CustomCentroidBondForce
      
      * Implemented point functions for CustomManyParticleForce
      
      * Use point functions to simplify implementation of custom forces
      
      * Removed unnecessary code
      
      * Fixed typo
      a85c2428
  23. 03 Sep, 2020 1 commit
  24. 20 Aug, 2020 1 commit
  25. 25 May, 2020 1 commit
  26. 22 May, 2020 2 commits
    • Thomas Trummer's avatar
      Fix invalid call to __host__ function in computeBondedForces · 62f7a04c
      Thomas Trummer authored
      Explicitly cast the second parameter to the type of the first one so the compiler can pick an overload that is supported in device code (fixes error: calling a __host__ function("fmin<float, int, (int)0> ") from a __global__ function("computeBondedForces") is not allowed).
      62f7a04c
    • Thomas Trummer's avatar
      Removed name of variadic argument list · f0ac4661
      Thomas Trummer authored
      Naming the argument list of a variadic macro is a GNU extension which is not supported by msvc. Since CUDA uses the system preprocessor this will fail to build kernels on Windows (fixes error C2010: '.': unexpected in macro parameter list).
      f0ac4661
  27. 05 May, 2020 1 commit
  28. 04 May, 2020 1 commit
    • Andy Simmonett's avatar
      Nosé Hoover Middle scheme (#2600) · 5f374e1d
      Andy Simmonett authored
      * Convert Nose-Hoover into LF middle scheme by copying NH kernels
      
      * Rebrand VelocityVerletIntegrator as NoseHooverIntegrator
      
      * Consolidate NH tests
      
      * NoseHooverChainKernel begone
      
      * Make Windows builds happy
      
      * Add missing header for Windows build
      
      * Fix mistake in CommonKernels header
      
      * Add 6th Yoshida-Suzuki and make it the default
      5f374e1d
  29. 14 Apr, 2020 1 commit
  30. 28 Feb, 2020 1 commit
  31. 14 Feb, 2020 1 commit
  32. 04 Feb, 2020 2 commits
  33. 16 Jan, 2020 1 commit
  34. 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