1. 22 Apr, 2023 1 commit
    • Raul's avatar
      Adding an XTC reporter (#4001) · eda091f2
      Raul authored
      * Preliminary work on XTC reporter
      1. Move and adapt xtc writer/reader from moleculekit (explicit permission
      granted by the authors to do so)
      2. Create XTCTrajectoryFile
      3. Create XTCReporter
      
      * Add licence and attribution to c++ xtc library
      Apply clang-format to it
      Remove some unused functions and document the rest
      
      * Add attribution and licence to cython wrappers for the xtc library
      Remove some unused functions
      
      * Change XTCTrajectoryFile to XTCFile
      Simplify the interface and document the class
      
      * Add test for the xtc file parser
      
      * Update XTC reporter with new parser name
      
      * Fix incorrect function name in XTCReporter
      
      * XTCFile:
      	* Add function to get number of frames
      	* Add function to read a group of frames from a file
      	* Add tests for the above
      
      * Ensure data is passed as float32 in XTC file
      
      * Add XTCReporter and tests
      
      * Add more tests to XTCReporter
      
      * Remove unnecessary pdb reporter in XTC tests
      
      * Copy test xtc file in python/tests/systems to build directory for testing
      
      * Remove XTC file reading from the interface
      Make XTCFile mimic DCDFile more closely
      
      * Use xtc_read to test the correctness of the XTC reporter
      
      * Add a test for reporting triclinic boxes
      
      * Make XTC library compatible with triclinic boxes.
      Adapt XTCFile to triclinic boxes
      
      * Change XTCFile to take a file as argument instead of a filename
      
      * Match DCDFile handling of the box
      
      * Fix comment
      
      * Revert "Change XTCFile to take a file as argument instead of a filename"
      
      This reverts commit 9815d4790b3886cc8a741586792268e80a227ba0.
      
      * Fix dangling file name issue
      
      * Remove index file functionality from XTC parser.
      Remove unused define switch PLATFORM_Linux
      
      * Fix formatting
      
      * Remove inconsistent variable naming in xtcfile.py
      
      * Change file argument name to match other reporters
      
      * Do not turn off error checking in cython wrappers
      
      * Fix leftover fileName in reporter
      
      * Rewrite wrapper to xtclib in C++
      
      * Small changes to wrapper code
      
      * Small changes to wrapper code
      
      * Small changes to wrapper code
      
      * XTCFile: Get number of atoms directly from topology
      
      * DCDFile: Get number of atoms directly from topology
      
      * Change constexpr to const
      
      * Check precision in XTC file matches the written one
      
      * Add a write function to XTCFrame.
      Make write check for errors C++ side.
      
      * Rewrite large trajectory files without loading the whole file to memory
      
      * Remove unused code in XTC test
      
      * Avoid spurious copy of the positions array when calling xtc_write_frame
      
      * Pass box as reference
      
      * Remove unnecessary imports and definitions
      
      * Fix formatting
      
      * Use std::string instead of char*
      
      * Use .c_str()  instead of .data()
      
      * Fix crash in Mac by correctly checking precision
      
      * Use TemporaryDirectory for tests instead of NamedTemporaryFile (Fixes windows ci)
      
      * Remove unnecessary file creation
      
      * Propagate exceptions via cython
      
      * Switch to TemporaryDirectory in xtcfile.py
      
      * Remove unnecessary include
      
      * Update some comments and document functions
      
      * Add XTC reporter to the docs
      eda091f2
  2. 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
  3. 01 Feb, 2021 1 commit
  4. 16 Jun, 2019 1 commit
  5. 08 Oct, 2018 1 commit
  6. 26 Sep, 2017 1 commit
  7. 08 Sep, 2016 2 commits
  8. 29 Jun, 2016 1 commit
  9. 24 Mar, 2016 1 commit
  10. 26 Jan, 2016 1 commit
  11. 12 Dec, 2015 1 commit
  12. 04 Nov, 2015 1 commit
  13. 07 Oct, 2015 1 commit
  14. 05 Aug, 2015 1 commit
  15. 05 Jul, 2015 1 commit
  16. 09 Feb, 2015 1 commit
  17. 07 Feb, 2015 1 commit
  18. 21 Jul, 2014 2 commits
  19. 17 Jul, 2014 1 commit
  20. 27 May, 2014 2 commits
  21. 10 Apr, 2014 1 commit
  22. 04 Apr, 2014 1 commit
  23. 26 Feb, 2014 1 commit
  24. 16 Jan, 2014 1 commit
  25. 23 Aug, 2013 1 commit
  26. 02 Aug, 2013 1 commit
  27. 01 Aug, 2013 2 commits
  28. 17 May, 2013 1 commit
  29. 21 Nov, 2012 1 commit
  30. 30 Mar, 2012 1 commit
  31. 21 Mar, 2012 1 commit
  32. 08 Feb, 2012 1 commit
  33. 07 Nov, 2011 1 commit
  34. 23 Mar, 2011 1 commit
  35. 21 Mar, 2011 1 commit
  36. 28 Feb, 2011 1 commit