- 10 Feb, 2026 1 commit
-
-
Peter Eastman authored
-
- 19 Sep, 2025 1 commit
-
-
Peter Eastman authored
-
- 12 Sep, 2025 1 commit
-
-
Evan Pretti authored
* Initial implementation of C++ API * Add kernel interface and information for API generation * API updates for updating electrode parameters * Add serialization proxy for ConstantPotentialForce * Update file headers * Add CG error tolerance and fix units on getCharges() return value * Initial implementation of matrix solver * Fixes and conjugate gradient solver * Try to fix Linux and Windows builds * Make sure charge constraint target is on total charge * Restore handling of exceptions like NonbondedForce since they won't involve electrode atoms * Ameliorate numerical instability in constrained conjugate gradient * Fix uninitialized pointers, memory leak, and style * Set CG tolerance units in Python API * Test ConstantPotentialForce serialization * Read/write ExceptionsUsePeriodicBoundaryConditions as bool * Improve constrained conjugate gradient robustness to roundoff error accumulation * Recompute matrix if electrode atoms move due to setPositions() * Tolerance is now in gradient (potential) units again * Add neutralizing background correction * Add Python API tests * Fixes for CG and nonbonded exceptions * Add initial tests checking against existing NonbondedForce behavior * Expand test suite and fix some implementation issues * Add additional tests using larger reference system * Add Gaussian test * Finish test against reference computation * CPU platform implementation * Fixes for compilation on some platforms * Fixes for constant potential with AVX/AVX2 * Test linking CPU PME library to constant potential test directly * Older SWIG versions don't support Python set to C++ set conversion * Add user guide entry * Increase speed of reference test * Conditional building constant potential CPU test is unreliable * Debugging * Miscellaneous fixes and improvements for CI * Cache charges so solver will not run if system and coordinates have not changed * Preconditioner flag, stability, and automatic detection improvements * Add GPU platform-specific constant potential kernel classes * PME and device-host I/O changes to support constant potential * Initial common constant potential implementation * Constant potential fixes: * Fix preconditioner PME position/charge save/restore logic * Fix reduction synchronization in constant potential solver kernels * Add double-float accumulation for conjugate gradient solver when double unsupported by hardware * Improve conditioning of a test system, and make sure particles are in or out of cutoff for consistency and ease of comparing between platforms * Reorder guess charges for CG when atom reordering changes positions * Remove PME queue for now * Trying to debug optimized direct space derivative kernel * Remove extraneous debugging lines * Style updates; just make CPU preconditioner double precision * Debugging updated optimized direct derivatives kernel for all but OpenCL CPU * OpenCL CPU implementation of direct space derivatives, and cleanup * Try to make test even shorter to not time out on CI * Temporary - Debugging * Debugging * Debugging * Debugging * Debugging * Remove debugging code and fix reduction synchronization * Fix other reductions * Debugging - are tests hanging or just slow on CI? * Debugging * Debugging * Fix macro for case when double precision is available on hardware * Remove changes for debugging again * Try to improve matrix solver cache locality by uploading transpose * Fixes for atom ordering and periodic images * Can't rely on reorder listener for cell offset updates * Test reducing number of contexts and timing for CI * Debugging * Remove timing code and revert debugging changes * Matrix solver and plasma term optimizations * Reduce CG solver kernel calls and downloads * Don't read back convergence flag from global memory * Update PME due to refactoring in master branch * Faster matrix solver (1st step) * Faster matrix solver for CUDA * Faster matrix solver compatibility with non-CUDA platforms * Matrix solver fixes * Use warp shuffle reductions when possible * Attempt to work around intermittent compiler crash in Intel CPU OpenCL * Optimize CG solver kernel 1 * Rework CG solver so some kernels can use more than 1 block * Don't run out of shared memory * Asynchronously download convergence flag while clearing buffers --------- Co-authored-by:Evan Pretti <pretti@sh03-17n15.int>
-
- 05 May, 2025 1 commit
-
-
Peter Eastman authored
-
- 01 Apr, 2025 1 commit
-
-
Peter Eastman authored
-
- 28 Mar, 2025 1 commit
-
-
Peter Eastman authored
* Remove includes for Dart * Fix CMake error * Fixed broken link * Pin to cmake<4.0 * Try to make the link checker stop complaining
-
- 10 Mar, 2025 1 commit
-
-
Peter Eastman authored
* Replace pthreads with C++ threads * Try to fix CI errors * Try including -pthread linker option
-
- 24 Sep, 2024 1 commit
-
-
Peter Eastman authored
-
- 01 Sep, 2024 1 commit
-
-
Anton Gorenko authored
* Remove setting of link libraries, include and link dirs and compile flags for each target, instead let Cmake deal with them by linking the main library to hip::host hiprtc::hiprtc hip::hipfft; * Fix: custom command without ADD_CUSTOM_TARGET and ADD_DEPENDENCIES is executed for both static and shared targets; * Remove IF(APPLE) parts.
-
- 05 Apr, 2024 1 commit
-
-
Peter Eastman authored
-
- 08 Mar, 2024 1 commit
-
-
ZangRuochen authored
LoongArch is a new architecture, already supported by linux-6.1, gcc-12. Signed-off-by:
Zang Ruochen <zangruochen@loongson.cn> Co-authored-by:
Zang Ruochen <zangruochen@loongson.cn>
-
- 05 Mar, 2024 1 commit
-
-
Miguel Dias Costa authored
-
- 30 Nov, 2023 1 commit
-
-
Peter Eastman authored
* Updated to new version of libLBFGS * Enable SSE code for LBFGS
-
- 02 Oct, 2023 1 commit
-
-
Peter Eastman authored
-
- 20 Jul, 2023 1 commit
-
-
Peter Eastman authored
* Always use nvrtc for compilation * Install nvrtc on CI * Workaround for compiler error * Set empty values for deprecated properties
-
- 31 Jan, 2023 1 commit
-
-
Peter Eastman authored
* Use VkFFT for OpenCL * Updated comments for OpenCLFFT3D
-
- 30 Sep, 2022 1 commit
-
-
Peter Eastman authored
* Updated version number to 8.0
-
- 22 Jul, 2022 1 commit
-
-
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:
Anton Gorenko <anton@streamhpc.com> Co-authored-by:
Nick Curtis <nicholas.curtis@amd.com>
-
- 30 Jun, 2022 1 commit
-
-
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
-
- 17 Mar, 2022 1 commit
-
-
Peter Eastman authored
* Upgraded to new version of asmjit * JIT compilation for ARM * Updated CMake script
-
- 06 Dec, 2021 1 commit
-
-
Peter Eastman authored
-
- 17 Jul, 2021 1 commit
-
-
Peter Eastman authored
-
- 16 Jul, 2021 1 commit
-
-
Peter Eastman authored
-
- 23 Jun, 2021 1 commit
-
-
David Clark authored
* Switches to using FindCUDAToolkit * Increases minimum CMake version to 3.17 for FindCUDAToolkit Co-authored-by:David Clark <daclark@nvidia.com>
-
- 11 Jan, 2021 1 commit
-
-
Isuru Fernando authored
* Initial fixes for Apple silicon Doesn't work yet * assume vec4 is supported on apple * Trust the user with env variables * Fix macos-version-min logic
-
- 02 Jun, 2020 1 commit
-
-
Andrius Merkys authored
-
- 01 Jun, 2020 1 commit
-
-
Andrius Merkys authored
-
- 30 Apr, 2020 1 commit
-
-
Chris Clark authored
-
- 28 Mar, 2020 1 commit
-
-
Marc Marí authored
Add __ARM64__ to differentiate between 32 and 64 bit ARM
-
- 08 Jan, 2020 1 commit
-
-
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
-
- 30 Sep, 2019 1 commit
-
-
John Chodera authored
-
- 12 Apr, 2019 1 commit
-
-
Chodera authored
-
- 07 Nov, 2018 1 commit
-
-
peastman authored
-
- 30 Jun, 2018 1 commit
-
-
John Chodera authored
-
- 03 Mar, 2018 1 commit
-
-
peastman authored
-
- 27 Apr, 2017 1 commit
-
-
jchodera authored
-
- 23 Feb, 2017 1 commit
-
-
peastman authored
-
- 17 Feb, 2017 1 commit
-
-
peastman authored
-
- 16 Feb, 2017 1 commit
-
-
Peter Eastman authored
-
- 15 Feb, 2017 1 commit
-
-
peastman authored
-