- Feb 19, 2021
-
-
Kurt A. O'Hearn authored
-
Kurt A. O'Hearn authored
-
Kurt A. O'Hearn authored
-
Kurt A. O'Hearn authored
PG-PuReMD: use atomics for both partial energy and force accumulation (small reworks to reduce number of atomic operations). Remove several unneccesary cudaMemset calls. Other code clean-up.
-
Kurt A. O'Hearn authored
-
- Feb 18, 2021
-
-
Kurt A. O'Hearn authored
Test: fix Python wrapper for QM/MM (interfaces out-of-date). Fix Fortran tester bugs. Add test artifacts.
-
- Feb 01, 2021
-
-
Kurt A. O'Hearn authored
-
- Sep 16, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: switch timers to use CUDA events and add additional timers for kernels to match MPI code. Other code cleanup.
-
- Sep 09, 2020
-
-
Kurt A. O'Hearn authored
-
Kurt A. O'Hearn authored
This reverts commit 6a1385e9.
-
- Aug 20, 2020
-
-
Kurt A. O'Hearn authored
-
- Aug 17, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: align CSR sparse matrix data structure to 128-bit/256-bit segments for memory coalescing (for 1 warp per row SpMV implementation). Change default interaction list and sparse matrix allocations to be multiples of 32 for aforementioned memory coalescing.
-
- Aug 07, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: change CUDA kernel error checking to only make calls to cudaDeviceSynchronize when in debugging mode (non-debug builds thus have better performance with kernel asynchronous launch behavior in single default stream). Change file I/O to only flush when in debugging mode (non-debug builds allow the I/O operations to be grouped for better performance).
-
- Aug 06, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: add support for symmetric, half stored format (SYM_HALF_MATRIX) of the sparse matrix for the charge model (add initialization routines and fix-up solver).
-
- Aug 05, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: rework custom reduction functions to use less shared memory and to have the correct thread and block counts. Fix bug in charge matrix initialization (under-allocated space previously). Split charge matrix and bonds/hydrogen bonds memory management routines to mirror the similar splitting of the initialization routines. Code clean-up related to half vs. full list and sparse matrix formats.
-
- Aug 01, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: improve performance by conditionally re-running initialization kernels within Cuda_Init_Forces based on out-of-memory conditions (for charge matrix, bonds list, hydrogen bonds list).
-
- Jul 22, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix performance logging code around GPU code. Rearrange header files to allow some preprocessor definitions to be defined via options in configure script. Rework Autoconf and Automake code to allow passing flags directly to nvcc compiler wrapper (for CUDA code). Enable C11 and C++11 standard targets during compilation.
-
- Jun 12, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix issue with some interaction lists not being initialized on first step of simulations from restarted runs. Fix typos in C++ code for utilizing C code (__cplusplus). Clean up C code for utilizing C++ code (unconditional extern's for unmangled member naming). Ensure that CUDA thread and block sizes are correctly set. Tweaks to memory transfers and allocation logic in integration code (GPU). Fix logic error with charge matrix allocation in GPU code. Other code clean-up.
-
- Jun 05, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: add BiCGStab solver for GPU code. Corrections to CUDA block and thread sizes for some kernels. Fix some variables being used with uninitialized values.
-
- Jun 02, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix issue with charge solver preconditioner refactoring rate causes issues with reneighboring actions (preconditionering rate was previously coupled with reneighoring rate for SAI but this causes issues for Jacobi, etc.). Be more greedy with memory allocation sizes to decrease reallocation frequency (MPI buffers, etc.). More GPU code clean-up.
-
- Jun 01, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix MPI buffer allocations sizes. Ensure that nonblocking MPI messages have completed for each dimension before continuing. Rework reallocation checks in integration routines. Temporarily disable CUDA-aware MPI code paths (need to perform packing/unpacking first on device before handing off pointers). Other code clean-up.
-
- May 12, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix host-device transfers for charge solver code (SpMV data transfer sizes). Remove unused code. Other general code clean-up.
-
- May 04, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix issue with divergent MPI_Reduce calls by multiple MPI processes (timing logging code). Add run-time MPI routine error checking. Fix issue with upper limit of hydrogen atoms allowed being hard-coded in GPU code (use dynamic memory allocation instead). Other code clean-up.
-
- Apr 13, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: improve memory management around temporary storage space on both the host and device (i.e., scratch space).
-
Kurt A. O'Hearn authored
PG-PuReMD: replace deprecated CUDA warp-level primitives with modern ones. Fix issue with modern GPU microarchitectures using incorrect code paths (post-Kepler). Other code clean-up.
-
- Mar 10, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: revert to 1 thread per atom implementation in nonbonded energy and force calculations in order to correct issue with forces being incorrectly calculated (revisit 1 warp per atom implementation later). Disable charge matrix row-wise sorting. Other general code clean-up.
-
- Mar 05, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: corrections to van der Waals and Coulomb energies calculations (far neighbor list in full format, not half). Fix QEq charge matrix initialization (full format). Other refactoring and code clean-up.
-
- Feb 26, 2020
-
-
Kurt A. O'Hearn authored
-
- Feb 19, 2020
-
-
Kurt A. O'Hearn authored
PG-PuReMD: merge changes from sPuReMD and PuReMD for validation work for simulation accuracy. Small correction to lone pair energy calculation. PuReMD: code formatting changes to better align with sPuReMD. sPuReMD: fix issue with valence angle calculations not setting list indices under certain sitations (taking previous continue statement missed index assignment).
-
- Oct 11, 2019
-
-
Kurt A. O'Hearn authored
-
- Oct 10, 2019
-
-
Kurt A. O'Hearn authored
-
Kurt A. O'Hearn authored
-
- Oct 06, 2019
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix issue with portions of interaction lists not being initialized for Cuda_Init_Forces. Utilize more targeted debugging prints (DEBUG -> DEBUG_FOCUS). Other general code cleanup.
-
- May 23, 2018
-
-
Kurt A. O'Hearn authored
PG-PuReMD: add deallocation routines at simulation termination for aiding with validating memory management.
-
- May 21, 2018
-
-
Kurt A. O'Hearn authored
PG-PuReMD: fix issue with MPI outgoinging buffer size. Refactor MPI communication code for better encapsulation. Continue cleaning up linear solver code.
-
Kurt A. O'Hearn authored
PG-PuReMD: fix charge matrix allocation issue. Update CUDA code to reflect data structure changes. Begin removing global variables. Seperate struct declarations and definitions to avoid circular data dependencies when refactoring data structures. Small I/O updates.
-
- May 14, 2018
-
-
Kurt A. O'Hearn authored
PG-PuReMD: merge memory management and step retry logic from MPI+GPU code into MPI-only code. Fix and backport numerous bugs (void pointer arithmetic and dereferences, etc.). Update code to match new data structures. Begin merging changes from OpenMP code (sPuReMD) for preconditioning work.
-
- Nov 30, 2017
-
-
Kurt A. O'Hearn authored
-
- Sep 23, 2017
-
-
Kurt A. O'Hearn authored
-
- Aug 25, 2017
-
-
Kurt A. O'Hearn authored
-