1. 05 Sep, 2024 1 commit
    • Anton Gorenko's avatar
      Optimize findInteractingBlocks · a96534c1
      Anton Gorenko authored
      Optimize findBlocksWithInteractions
      
      * Replace volatile shared mem accesses with shuffles;
      * Add NUM_TILES_IN_BATCH for processing block1 by multiple warps
        (for small systems);
      * Cherry-pick missing changes from .cu;
      * Tune MAX_BITS_FOR_PAIRS depending on device and the system size;
      * Store single pairs immediately (if there are any), this allows not to
        store flags to shared memory and filter buffer and flagsBuffer after
        saving single pairs;
      * Use fma explicitly and sign bit for better device code;
      * Use CDNA's MFMA with singe/mixed precision;
      * On CDNA the coarse grained stage processes warpSize blocks for
        one block1, the fine grained stage checks atoms of two block2 vs atoms
        of the same block1, singlePairs and interactingAtoms are also stored
        by warps, not half-warps;
      
      Optimize findBlockBounds
      
      * Use shuffles;
      * Use executeKernelFlat;
      * Process 2 tiles per warp 64 on CDNA;
      * Use more uniformly distributed keys when sorting blocks;
      
      Use compareInt2LargeSIMD when tile size < SIMD width
      
      Fix exclusion tiles sorting on AMD CDNA (64 threads per wave)
      
          The nonbonded kernel uses USE_NEIGHBOR_LIST (useNeighborList)
          so host code also must check it instead of useCutoff.
      
          See also https://github.com/openmm/openmm/issues/3462
      a96534c1
  2. 01 Sep, 2024 1 commit
  3. 11 Dec, 2023 1 commit
  4. 24 Jul, 2023 1 commit
  5. 23 May, 2023 1 commit
  6. 12 Aug, 2022 1 commit
  7. 27 Jan, 2022 1 commit
  8. 20 Aug, 2020 1 commit
  9. 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
  10. 09 Apr, 2019 1 commit
    • peastman's avatar
      Created HippoNonbondedForce (#2296) · 1eec1e15
      peastman authored
      * Created API for HIPPO force field
      
      * Beginning of reference implementation of HIPPO
      
      * Continuing reference implementation of HIPPO
      
      * Continuing reference implementation of HIPPO
      
      * Continuing reference implementation of HIPPO
      
      * Continuing reference implementation of HIPPO
      
      * Continuing reference implementation of HIPPO
      
      * Continuing reference implementation of HIPPO
      
      * Continuing reference implementation of HIPPO
      
      * Completed reference of HIPPO with no cutoff
      
      * Beginning cutoffs/PME for reference implementation of HIPPO
      
      * Continuing PME for reference implementation of HIPPO
      
      * Continuing PME for reference implementation of HIPPO
      
      * Continuing PME for reference implementation of HIPPO
      
      * Completed reference implementation of HIPPO
      
      * Cleanup and optimization to HIPPO reference
      
      * Further cleanup to HIPPO
      
      * Combined direct space interactions into a single loop
      
      * Compute direct space interactions in quasi-internal frame
      
      * Beginning of CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Continuing CUDA implementation of HIPPO
      
      * Finished CUDA implementation of HIPPO
      
      * More features and test cases for HippoNonbondedForce
      
      * Serialization and Python API for HippoNonbondedForce
      
      * Fixed sign error in computing forces
      1eec1e15
  11. 12 Mar, 2018 1 commit
  12. 12 Feb, 2018 1 commit
  13. 13 Oct, 2016 1 commit
  14. 14 Sep, 2016 1 commit
  15. 27 Jul, 2016 1 commit
  16. 25 May, 2016 1 commit
  17. 21 Sep, 2015 1 commit
  18. 27 Aug, 2015 1 commit
  19. 10 Aug, 2015 1 commit
  20. 07 Jul, 2015 1 commit
  21. 06 Mar, 2015 1 commit
  22. 08 Jul, 2013 1 commit
  23. 22 Mar, 2013 1 commit
  24. 12 Dec, 2012 1 commit
  25. 10 Oct, 2012 1 commit
  26. 28 Sep, 2012 1 commit
  27. 20 Jul, 2012 1 commit
  28. 15 Jun, 2012 1 commit
  29. 12 Jun, 2012 1 commit