Made spack test more robust#433
Merged
Merged
Conversation
nkoukpaizan
approved these changes
Jun 4, 2026
andrewxu319
added a commit
that referenced
this pull request
Jun 4, 2026
* Fix make test_install failure (#428) * Fix make test_install failure * Apply pre-commmit fixes * Apply suggestion from @shakedregev --------- Co-authored-by: pelesh <pelesh@users.noreply.github.com> Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com> * Made spack test more robust (#433) * made spack test more robust * changelog update [skip ci] * Create Matrix class, a parent class for matrices including Sparse * Added CPU implementation for Schur Complement Conjugate Gradient and a simple test. * Fixed bug in MatrixHandlerTests.hpp that caused leftScale and rightScale tests to fail. Made "createIncrementingVector()" return a pointer to the new vector instead of a copy (which causes the data to be freed prematurely). * Add to CHANGELOG.md. Removed some unnecessary comments. * Bug fixes (missing <cmath>, type mismatch of variable "i"). * Revert "Create Matrix class, a parent class for matrices including Sparse" This reverts commit 00f6992. Kept changes to "io.cpp", which fixes the an issue with out-of-bounds iterators. * Apply pre-commmit fixes * Update tests/unit/hykkt/HykktSCCGTests.hpp No commented out code. * Formatting fixes. * Apply pre-commmit fixes * Removed "Matrix.hpp" from resolve/matrix/CMakeLists.txt * Apply pre-commmit fixes * Apply suggestion from @shakedregev * fixed not building test, test still fails on HIP * use caller-provided backend-specific handlers in SCCG * load SCCG data on host before device sync * refresh CUDA SpMV cache when matrix changes * Apply pre-commmit fixes * fix HyKKT SCCG HIP target setup * document SCCG backend setup and CUDA SpMV cache handling * mirror SpMV cache reset for HIP * clean up build warnings * update variable names to follow conventions * Apply pre-commmit fixes * Shaked/random error fix (#424) Fixed stochastic failures due to a faulty random number generator and asynchronous operations. Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Begin work on porting the HyKKT solver from https://github.com/ORNL/hykkt/. Code compiles but has not been tested. Co-authored-by: andrewxu319 <andrewxu319@users.noreply.github.com> * Consolidated the setters for matrix and vector blocks of the system. * Add unit tests for HyKKT solver * Add matrix::Sparse::allocateWithExternalSparsityPattern, which is needed in HyKKTSolver. * 6/1/2026, debugging cholmod segfault * Fixed issue where H was coo instead of csr * Suggested Hykkt fixes * Combine H and Dx into "H_plus_Dx" in the interface * Code cleanup * Clean up code, add comments, rename variables for clarity * Add "symmetric" label to test H matrices and make file reader auto-detect symmetric matrices * Miscellaneous fixes: tolerate jumbled AMD outputs, add missing "delete"'s, update tolerance to match the old HyKKT repo, add workspace resets, revert changes to SpGEMMCpu * Undo unintentional/garbage file additions * Merge andrew/sccg-matrix-class * Merge branch 'andrew/sccg-and-matrix-class' into andrew/hykkt-solver * Create SCCG unit tests (one set of inputs). NOTE: this code currently doesn't work because MatrixHandler is broken (specifically matvec). * Make SCCG test path CPU, CUDA, and HIP capable (#422) * use caller-provided backend-specific handlers in SCCG * load SCCG data on host before device sync * refresh CUDA SpMV cache when matrix changes * fix HyKKT SCCG HIP target setup * document SCCG backend setup and CUDA SpMV cache handling * mirror SpMV cache reset for HIP * Shaked/random error fix (#424) Fixed stochastic failures due to a faulty random number generator and asynchronous operations. Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> --------- Co-authored-by: tamar-dewilde <tamar-dewilde@users.noreply.github.com> Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Standardize matrix/vector handler object use and naming. * Apply pre-commmit fixes * SCCG test no longer needs a random number generator * Apply pre-commmit fixes * Reorder variables to avoid -Wreorder warning * Apply pre-commmit fixes * Apply suggestion from @shakedregev * Apply pre-commmit fixes * Apply suggestion from @shakedregev * Update resolve/hykkt/spgemm/SpGEMMCpu.cpp Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com> * Apply pre-commmit fixes * Apply suggestion from @shakedregev * Change HyKKTSolver and SCCG variable naming conventions to use the HyKKT paper's variable names in LaTeX syntax * Add missing scal function for HIP and remove redundant diag_end parameter * Apply pre-commmit fixes * Remove unused memory handler in SpGEMMCpu.hpp * Change index integer type to avoid type mismatch warnings * Create Matrix class, a parent class for matrices including Sparse * Added CPU implementation for Schur Complement Conjugate Gradient and a simple test. * Fixed bug in MatrixHandlerTests.hpp that caused leftScale and rightScale tests to fail. Made "createIncrementingVector()" return a pointer to the new vector instead of a copy (which causes the data to be freed prematurely). * Add to CHANGELOG.md. Removed some unnecessary comments. * Bug fixes (missing <cmath>, type mismatch of variable "i"). * Revert "Create Matrix class, a parent class for matrices including Sparse" This reverts commit 00f6992. Kept changes to "io.cpp", which fixes the an issue with out-of-bounds iterators. * Apply pre-commmit fixes * Update tests/unit/hykkt/HykktSCCGTests.hpp No commented out code. * Apply pre-commmit fixes * Formatting fixes. * Apply pre-commmit fixes * Removed "Matrix.hpp" from resolve/matrix/CMakeLists.txt * Apply pre-commmit fixes * Apply suggestion from @shakedregev * fixed not building test, test still fails on HIP * Fix SCCG vector initialization values. The outputs now match the old HyKKT implementation (if matvec works correctly). * Put SCCG's internal vectors on the heap via malloc. Not strictly needed right now, but good to prevent stack overflows. * Create SCCG unit tests (one set of inputs). NOTE: this code currently doesn't work because MatrixHandler is broken (specifically matvec). * Make SCCG test path CPU, CUDA, and HIP capable (#422) * use caller-provided backend-specific handlers in SCCG * load SCCG data on host before device sync * refresh CUDA SpMV cache when matrix changes * fix HyKKT SCCG HIP target setup * document SCCG backend setup and CUDA SpMV cache handling * mirror SpMV cache reset for HIP * Shaked/random error fix (#424) Fixed stochastic failures due to a faulty random number generator and asynchronous operations. Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> --------- Co-authored-by: tamar-dewilde <tamar-dewilde@users.noreply.github.com> Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com> * Address SCCG GPU review comments * Add comments to edited sections of removeDuplicates. * Standardize matrix/vector handler object use and naming. * Apply pre-commmit fixes * Make matrix and vector handlers passed to SCCG instead of owned by it * Pass handlers by pointer. This is more consistent with the rest of the codebase. * Formatting fixes as suggested in PR. * Apply pre-commmit fixes * Reordered variable declaration in SCCG to avoid [-Wreorder] warning * SCCG test no longer needs a random number generator * Apply pre-commmit fixes * Apply suggestion from @shakedregev * Apply pre-commmit fixes * Apply suggestion from @shakedregev * Update resolve/hykkt/spgemm/SpGEMMCpu.cpp Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com> * Apply pre-commmit fixes * Apply suggestion from @shakedregev * Change HyKKTSolver and SCCG variable naming conventions to use the HyKKT paper's variable names in LaTeX syntax * Add missing scal function for HIP and remove redundant diag_end parameter * Apply pre-commmit fixes * Remove unused memory handler in SpGEMMCpu.hpp * Change index integer type to avoid type mismatch warnings * Remove unused variables and revert accidental CMakePresets changes * Update CMakeLists.txt because the recent additions were reverted somehow --------- Co-authored-by: pelesh <peless@ornl.gov> Co-authored-by: pelesh <pelesh@users.noreply.github.com> Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com> Co-authored-by: andrewxu319 <andrewxu319@users.noreply.github.com> Co-authored-by: shakedregev <shakedvregev@gmail.com> Co-authored-by: Tamar DeWilde <tamard19@gmail.com> Co-authored-by: tamar-dewilde <tamar-dewilde@users.noreply.github.com> Co-authored-by: shakedregev <shakedregev@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Spack tests have started timing out and failing randomly.
Proposed changes
Auto clear cache.
Try the test 3 times before declaring failure.
Checklist
N/A - this is for github actions only. Tests pass before and continue to pass because they haven't been changed.