- Apr 21, 2022
-
-
Kurt A. O'Hearn authored
-
Kurt A. O'Hearn authored
PG-PuReMD: standardize and clean-up CUB usage. Add wrapper for non-CUB reductions (rvec, rvec2). Other code clean-up.
-
- Apr 18, 2022
-
-
Kurt A. O'Hearn authored
PG-PuReMD: add support for using cuBLAS routines for dense linear algebra (mainly level-1 routines in sparse linear solver). Clean-up solver code for using streams.
-
- Apr 11, 2022
-
-
Kurt A. O'Hearn authored
PG-PuReMD: split van der Waals and Coulomb force and energy computation kernels and execute in seperate streams. Change stream of Coulomb-related kernels (init, charge solver, Coulomb). Use math function for cubic root calculations. Other code clean-up.
-
- Apr 06, 2022
-
-
Kurt A. O'Hearn authored
PG-PuReMD: default to using bundled CUB library witn recent CUDA SDK version (>= v11.x), while retaining older CUB submodule for older CUDA capabilities (use NVCCFLAGS to manually include CUB in this case). Refactor timing code to more accurately measure kernel timing. Refactor stream logic to expose more parallelism (valence+torsion branch) and to perform fewer synchronizations. Other code clean-up and refactoring.
-
- Nov 09, 2021
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix potential MPI message collision issue in SAI preconditioner (same tags to same source rank => use different tags). Reorder communications to allow message size detection and buffer reallocation if needed.
-
- Nov 01, 2021
-
-
Kurt A. O'Hearn authored
-
- Oct 22, 2021
-
-
Kurt A. O'Hearn authored
-
- Aug 16, 2021
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix bugs in the SAI preconditioner for the charge solver (memory leak, incorrect row numbers).
-
- Aug 12, 2021
-
-
Kurt A. O'Hearn authored
-
Kurt A. O'Hearn authored
PG-PuReMD: port SAI preconditioner from MPI codebase. Rework charge solver preconditioner code. Other code clean-up.
-
- Aug 10, 2021
-
-
Kurt A. O'Hearn authored
-
- Aug 05, 2021
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix cross-stream race conditions on intermediary force calculation variables (CdDelta, Cdbo, etc.). Rework valency and torsion calculations to minmize the number of atomic operations performed. Split lone pair and over-/under-coordination kernels. Fix small size mismatch in allocation routines (over-allocation). Other code clean-up.
-
- Jul 26, 2021
-
-
Kurt A. O'Hearn authored
-
- Jul 23, 2021
-
-
Kurt A. O'Hearn authored
sPuReMD, PG-PuReMD: add control file keyword (include_polarization_energy) to toggle polarization energy calcuation in ReaxFF.
-
- Jul 02, 2021
-
-
Kurt A. O'Hearn authored
-
- Jul 01, 2021
-
-
Kurt A. O'Hearn authored
-
- May 24, 2021
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix warnings (and errors) from several uninitialized memory regions due to multiple stream change. Fix race condition with valence angle computation due to mistake with dynamic shared memory. Add control file parameter for setting the number of CUDA streams. Other code clean-up.
-
- May 13, 2021
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix issue with post-processing step with QEq pseudo-charges (too little storage in q array). Fix issue with device-wide CUB reductions and prefix sums reallocating device memory too frequently. Rework CUDA-aware MPI code to fix issues (still seeing out-of-memory errors on Ascent cluster at OLCF).
-
- May 12, 2021
-
-
Kurt A. O'Hearn authored
PG-PuReMD: ensure MPI pack/unpack CUDA kernels are run in the correct stream. Other changes to bring the CUDA-aware MPI functions for the charge solver in line with their MPI counterparts.
-
- May 11, 2021
-
-
Kurt A. O'Hearn authored
-
- May 07, 2021
-
-
Kurt A. O'Hearn authored
PG-PuReMD: utlize multiple CUDA streams to run independent kernels in the ReaxFF+QEq task dependency graph.
-
Kurt A. O'Hearn authored
PG-PuReMD: fix stream issue with cudaMemset's happening in default stream (switch to cudaMemsetAsync). Rework memory management in light of this change.
-
- May 04, 2021
-
-
Kurt A. O'Hearn authored
WIP: finish the explicit single stream port by using cudaMemcpyAsync and cudaStreamSynchronize calls.
-
Kurt A. O'Hearn authored
WIP: changes to support multiple CUDA streams. This commit contains porting of all kernels from the default stream to a single non-default stream. This commit has bugs regarding cudaMemcpy's still being in the default stream (and synchronous).
-
- Apr 28, 2021
-
-
Kurt A. O'Hearn authored
-
- Apr 20, 2021
-
-
Kurt A. O'Hearn authored
-
Kurt A. O'Hearn authored
-
- Apr 19, 2021
-
-
Kurt A. O'Hearn authored
PG-PuReMD: implement MPI+CUDA versions of SDM, PIPECG, PIPECR for charge solver methods (along with missing dual QEq versions).
-
Kurt A. O'Hearn authored
PG-PuReMD: use a warp of threads for addtional bonded interaction computations (bond orders, bonds, lone pair/over/under).
-
- Apr 16, 2021
-
-
Kurt A. O'Hearn authored
PG-PuReMD: use a warp of threads for apply bond derivatives to forces and simplify these code paths.
-
- Apr 14, 2021
-
-
Kurt A. O'Hearn authored
-
Kurt A. O'Hearn authored
PG-PuReMD: fix incorrect summations in kinetic energy and temperature calculation functions. Replace several hand-coded device-wide reduction kernels with CUB libary reduction.
-
Kurt A. O'Hearn authored
-
- Apr 09, 2021
-
-
Kurt A. O'Hearn authored
-
Kurt A. O'Hearn authored
PG-PuReMD: split bond and hbond initialization kernels for future optimizations. Cleanup CUDA code related to far neighbor list being in full format (remove unnecessary conditionals and arithmetic).
-
- Mar 30, 2021
-
-
Kurt A. O'Hearn authored
-
- Mar 05, 2021
-
-
Kurt A. O'Hearn authored
sPuReMD: make zlib dependency optional (trajectory file compression). PG-PuReMD: remove erroneous zlib header file inclusion.
-
- Mar 03, 2021
-
-
Kurt A. O'Hearn authored
-
- Feb 23, 2021
-
-
Kurt A. O'Hearn authored
PG-PuReMD: handle a few missed reductions in nonbonded interactions more efficiently. Clean-up bonded interactions functions and do not export kernels via header files. Increase C++ standard to c++14 for CUB (Thrust dependency). Continue with bundled CUB version and transition to version included with CUDA SDK in the future.
-