- 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>
-
- 13 Aug, 2025 1 commit
-
-
Peter Eastman authored
* Replace C++ code examples in Python API docs * Use newer Python for building docs * Remove sphinx version pin * Add Python versions of code examples * Minor edit * Add Python version of one more code example
-
- 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
-
- 26 Nov, 2024 1 commit
-
-
Peter Eastman authored
* Use Intel OpenCL for CI * Set environment variables * Try to get CI to run * Debugging * Debugging * Fixes for Intel OpenCL
-
- 16 Oct, 2024 1 commit
-
-
Peter Eastman authored
* Updated Python versions for CI * Install setuptools
-
- 01 Oct, 2024 1 commit
-
-
Peter Eastman authored
-
- 05 Sep, 2024 1 commit
-
-
Peter Eastman authored
* CI build for HIP * Removed some unneeded dependencies * Fix test for which libraries are present
-
- 23 Aug, 2024 1 commit
-
-
Peter Eastman authored
* Support numpy 2 * Debugging * Removed debugging code
-
- 19 Jul, 2024 1 commit
-
-
Peter Eastman authored
* Run Mac tests on ARM and Intel * Added missing environment file * Removed obsolete code for M1 runner * Removed obsolete code for M1 runner
-
- 17 Jul, 2024 1 commit
-
-
Peter Eastman authored
* Debug CI failures * Debugging * Debugging * Debugging * Debugging * Debugging * Debugging * Debugging * Debugging * Removed build that was failing * Fixed URL that had changed
-
- 09 Jul, 2024 1 commit
-
-
Peter Eastman authored
* addHydrogens() allows specifying exactly what hydrogens to add * Prevent CI from using numpy 2.0
-
- 09 Mar, 2024 1 commit
-
-
Peter Eastman authored
* Revised code from installing CUDA on CI * Debugging * Debugging * Debugging * Debugging * Debugging * Debugging * Debugging
-
- 28 Sep, 2023 1 commit
-
-
Peter Eastman authored
* Remove support for Gromacs implicit solvent * Removed tests of implicit solvent
-
- 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
-
- 05 Jan, 2023 1 commit
-
-
Peter Eastman authored
* Attempt at fixing failing pypy build * Try using mambaforge * Debugging * A different approach to using mambaforge * Try a separate environment file for pypy
-
- 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
-
- 04 May, 2022 1 commit
-
-
Peter Eastman authored
* Update CUDA keys * Fixed typo
-
- 18 Mar, 2022 1 commit
-
-
Peter Eastman authored
* Optimized computing powers in CompiledExpression * Fixed compilation error * Attempt at fixing compilation error
-
- 03 Dec, 2021 1 commit
-
-
Peter Eastman authored
-
- 23 Nov, 2021 1 commit
-
-
Mike Henry authored
* lets see what blows up! * need to add env file, different name than normal * lets see if setting an env will help it find the base * try forcing the use of mamba * this should break everything, but might make osx work * lets see if this fixes the issue with the extension * ci bump * lets see if a different installer will work * single thread build to see error better * ci bump * ci bump * can't build opencl on m1 * add salt to url to prevent caching * rename to reflect that we can just build CPU * going to add a M1 x86_64 buld and an arm64 build * lets see if I broke 86 * now lets see what happens with arm * forgot to add new build files * try older python version * newer python? * try mini forge * ci bump * unpin doxygen and remove gromacs as a dep * double check where x86_64 libs are getting pulled in * ci bump * try and use conda compiler toolchain and set arch * weird things happend with setting arch * lets see what the arch the runner thinks it is using * try printing arch again * undo shell change * remove changes to shell * make sure I don't break other buikds * fix syntax issue and add new label to actionlint * ci bump * ci bump * lets focus on arm64 builds for now * ci bump * ci bump * try setting arch to build with arch command * split steps up so other builds don't break * see if the cmake step is the only one we need to arch-ify * cleaning things up * cleaning things up * set -j2 for make * we can use the same build step as the otehr builds * now lets see if it can install gromacs * no gromacs, no problem? * remove bit of logic stopping the build * pin doxygen to 1.9.1 * try building openCL * ci bump * ci bump
-
- 11 Aug, 2021 1 commit
-
-
Josh A. Mitchell authored
* Proof of concept matching current behaviour with Breathe * Reorganise C++ API docs to work without autosummary * Revert to Sphinx-native search * Move remaining pip deps to conda * Remove unnecessary lunrsearch templates * Remove lunrsearch from cmake * Tidy up layout of API docs * Get code blocks to work with Breathe Breathe doesn't seem to support the Doxygen <preformatted> tag. It does support the <code> tag, but better yet it supports using <verbatim> tags to embed rst into docstrings. This commit changes all <pre> tags to use RST verbatim, and updates the Python documentation machinery to support it too. * Clarified some language * Have doxygen exclude undocumented classes and have sphinx fail on warnings for C++ API docs * List custom forces and integrators last * Add breathe to documentation CI * Typo * Fix link to custom forces in extras.rst * Have Breathe process only public classes * Strip OpenMM:: prefix from rst files to avoid colons in links * Remove existing private classes from EXCLUDE_SYMBOLS * Add comment to C++ cmake describing why we promote warnings to errors * Revise documentation build instructions for new dependencies
-
- 15 Jun, 2021 1 commit
-
-
Peter Eastman authored
* Changes to work with recent versions of Sphinx * Updated Sphinx version used for CI
-
- 10 Feb, 2021 1 commit
-
-
Jaime Rodríguez-Guerra authored
* Add draft GHA-based CI for Linux * Fix events * Dup key * Fix path * Update env vars * More fixes * Fix env vars again * add doxygen * add sudo * Typo * upgrade CUDA * escape newlines * more backslashes * fix CUDA_APT * more env vars fixes * fix missing file * acumulate env_vars * build python wrappers only if requested * add pytest * use $GITHUB_ENV https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#environment-files * use ${GITHUB_WORKSPACE} * Pin older gromacs * add windows * Provide default values for unbound vars * fixes * this is powershell not cmd * update envs * win fix * make windows use cmd * Change install prefix * fixes * better env files * Increase timeout threshold * set xcode to 10.x * specify action version * fix sdk in macos * split jobs a bit more * build wrappers even if tests failed for c...
-
- 01 Feb, 2021 1 commit
-
-
Peter Eastman authored
* Top level Python module is now "openmm" * Updated module names in examples * Updated module names in documentation * Updated module in CI scripts * Added deprecation warning
-
- 30 Aug, 2019 2 commits
-
-
Jason Swails authored
-
Jason Swails authored
-
- 29 Aug, 2019 1 commit
-
-
Jason Swails authored
-
- 10 Jun, 2019 1 commit
-
-
Jason Swails authored
-
- 05 Mar, 2019 1 commit
-
-
Jason Swails authored
I finally got nvidia-docker2 installed and actually working on my Gentoo machine (I had to disable their restriction of using GPU devices to users in the 'video' group, since the nvidia container runtime hook didn't run as a user with those privileges, and I can't figure out what user it was running as). The other GPU-enabled node I added to the Jenkins array runs Ubuntu, and that one already has nvidia-docker2 installed and running correctly on it.
-
- 28 Nov, 2018 1 commit
-
-
Jason Swails authored
* Add a Jenkinsfile to drive a pipeline * Also tweaks the installation script for Jenkins to be more amenable to running other variants in parallel * Restrict packaging script to only accept Python 2.7, since I think that's long been the minimum supported Python version * Allow run-ctest.py to run tests in parallel (and take advantage of that in the Jenkins tests). * CUDA -> CUDA_VERSION * Jenkins will automatically post result back to GitHub. Not need to have a separate step do that explicitly. * Run as a login shell. * Force looking for CUDA node. * Make sure we load conda module. * Start building in a docker slave -- much nicer! * Try to fix up the installation a little. * Fix more build issues. * More build debugging. * Oops -- recursive :-o * Put opencl lib in library path * Try 9.2 * Fix library path * More updates to Jenkins build recipes. * Try a new (simpler?) approach with building * Oops...
-
- 08 Oct, 2018 1 commit
-
-
peastman authored
-
- 05 Apr, 2018 1 commit
-
-
Jason Swails authored
clang is tested everywhere else, and it's not as routinely up-to-date on my Jenkins machine. PythonInstall failed on Linux machines where the build/install directories had paths with spaces in them.
-
- 12 Nov, 2017 1 commit
-
-
Jason Swails authored
-
- 28 Feb, 2017 7 commits
-
-
Jason Swails authored
Let tests run up to 2 hours and have a 5 minute timeout for individual tests.
-
Jason Swails authored
-
Jason Swails authored
-
Jason Swails authored
-
Jason Swails authored
And protect against possible spaces in directories
-
Jason Swails authored
-
Jason Swails authored
-