1. 24 Jul, 2020 1 commit
  2. 29 Mar, 2020 1 commit
    • Rasmus Wriedt Larsen's avatar
      Minor Python tweaks (#2616) · c87b96fb
      Rasmus Wriedt Larsen authored
      * Use list-comprehension in Python code
      
      A minor change, but slighly easier to understand the initialization of
      `parent_exclude_list` in my opinion.
      
      * Implement __ne__ in Python classes that has __eq__
      
      In Python 3, `__ne__` is automatically implemented as `not __eq__`.
      
      However, in Python 2 it seems to be implemented as `not is` (so based on object
      identity).
      
      Based on setup.py [0] which says that "OpenMM requires Python 2.7 or better", it
      should be useful to have better support for Python 2 :)
      
      This was already done in 4 of the 12 classes that implements `__eq__`
      
      ```
      >>> class WildCard(object):
      ...     def __eq__(self, other): return True
      
      >>> w = WildCard()
      
      >>> w == 42
      True
      
      >>> w != 42
      True
      
      >>> w != w
      False
      ```
      
      [0]: https://github.com/openmm/openmm/blob/5cef29ce8d4e17b6d0f9fd8a3c6cc1669ca0ba2b/wrappers/python/setup.py#L237
      
      * Use umambiguous floor division for index calculations in Python
      
      This makes the code work as intended if run as Python 3
      
      ```
      $ python2 -c 'print(3/2, 3//2)'
      (1, 1)
      $ python3 -c 'print(3/2, 3//2)'
      1.5 1
      ```
      
      * Use `with` for file handling in Python
      
      * Use `is None` instead of `== None` in Python
      
      This is recommended in PEP8:
      
      > Comparisons to singletons like None should always be done with is or is not, never the equality operators.
      > - https://www.python.org/dev/peps/pep-0008/#programming-recommendations
      c87b96fb
  3. 05 Sep, 2019 1 commit
  4. 04 Sep, 2019 2 commits
  5. 30 Aug, 2019 2 commits
  6. 29 Aug, 2019 2 commits
  7. 08 Aug, 2019 1 commit
  8. 12 Jul, 2019 1 commit
  9. 10 Jun, 2019 1 commit
  10. 05 Mar, 2019 2 commits
    • Jason Swails's avatar
      4ec26e2f
    • Jason Swails's avatar
      Enable docker for GPU builds · a150d570
      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.
      a150d570
  11. 28 Nov, 2018 1 commit
    • Jason Swails's avatar
      Use Jenkinsfile to drive the pipeline job (#2198) · 6aeccb40
      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 -- fix Jenkinsfile syntax.
      
      * Test CPU and Reference together.
      
      * Avoid stashing -- not necessary really.
      
      * Print env (Debug).
      
      * try a new way to get env vars set up.
      
      * More test shuffling.
      
      * Load conda module.
      
      * Fix docker build and test script.
      
      * Fix up install.
      
      * More tweaks to the build.
      
      * Do python tests in Docker container
      
      * Separate CUDA and OpenCL platforms and install make in the docker
      container
      
      * reorder arguments to ctest so the retesting only does the failed tests (and can't get overwritten by anything else)
      
      * Add LD_LIBRARY_PATH to find OpenMM libs (it should be found :(...)
      
      * Trying this...
      
      * Seems that some stuff runs inside docker and some doesn't??
      
      * Move all execution to a shell script for the dockerfile install
      
      * Add fixes for Python 3.7
      
      * Revert "Add fixes for Python 3.7"
      
      This reverts commit ef826edbba52f6388fe2b4c483ed1afb337c7d8f.
      
      * Python 3.7 turned StopIteration into RuntimeError, as per PEP 479.
      
      A quick-fix for the PDBx library is to catch both StopIteration *and*
      RuntimeError to preserve the old behavior.
      
      * Make sure we clean first.
      
      * More thorough cleaning
      
      * Stop trying to do it in a container. >:o
      
      * Consolidate, and go back to docker.
      
      This is irritating.
      
      * Add some debugging commands and temporarily stop testing GPU platforms.
      
      * Oops :-[]
      
      * whoami doesn't work in the docker container :(
      
      * Stop trying to find libdl
      
      * Need to install cython.
      
      * whoami fails -- try id instead.
      
      * Clean up install script now that I have the basics working
      
      Also restrict CPU runs to nodes with the "docker" label.  This allows
      exclusion from nodes where docker isn't creating a suitable environment
      (most likely due to irritating permission issues).
      6aeccb40
  12. 27 Nov, 2018 1 commit
  13. 08 Oct, 2018 1 commit
  14. 28 Aug, 2018 1 commit
  15. 05 Apr, 2018 1 commit
    • Jason Swails's avatar
      Use g++ instead of clang and fix PythonInstall · ec4344c7
      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.
      ec4344c7
  16. 14 Dec, 2017 1 commit
  17. 12 Nov, 2017 1 commit
  18. 12 May, 2017 1 commit
  19. 15 Mar, 2017 1 commit
  20. 28 Feb, 2017 8 commits
  21. 18 Jan, 2017 1 commit
  22. 24 Dec, 2016 6 commits
  23. 23 Dec, 2016 1 commit
  24. 15 Dec, 2016 1 commit