Skip to content

Add HyKKT Solver Class#432

Merged
andrewxu319 merged 108 commits into
andrew/sccg-and-matrix-classfrom
andrew/hykkt-solver
Jun 4, 2026
Merged

Add HyKKT Solver Class#432
andrewxu319 merged 108 commits into
andrew/sccg-and-matrix-classfrom
andrew/hykkt-solver

Conversation

@andrewxu319
Copy link
Copy Markdown
Collaborator

Description

Added class HyKKTSolver, which integrates components in resolve/hykkt to solve HyKKT systems.

Proposed changes

matrix handler, vector

  • Created HyKKT solver class
  • Created corresponding unit tests and test matrices
  • Added helper functions in Sparse and VectorHandler required by the HyKKT solver
  • Rewrote memory copy code in the CPU implementations Cholesky and SpGEMM to avoid memory corruption issues
  • Modified io.cpp to add safeguards against inputs of empty matrices and unlabeled symmetric matrices

Checklist

  • All tests pass (make test and make test_install per testing instructions). Code tested on
    • CPU backend
    • CUDA backend
    • HIP backend
  • I have manually run the non-experimental examples and verified that residuals are close to machine precision. (In your build directory run: ./examples/<your_example>.exe -h to get instructions how to run examples). Code tested on:
    • CPU backend
    • CUDA backend
    • HIP backend
  • Code compiles cleanly with flags -Wall -Wpedantic -Wconversion -Wextra.
  • The new code follows Re::Solve style guidelines.
  • There are unit tests for the new code.
  • The new code is documented.
  • The feature branch is rebased with respect to the target branch.
  • I have updated CHANGELOG.md to reflect the changes in this PR. If this is a minor PR that is part of a larger fix already included in the file, state so.

Further comments

pelesh and others added 30 commits June 4, 2026 09:55
* 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

* changelog update [skip ci]
…ale tests to fail. Made "createIncrementingVector()" return a pointer to the new vector instead of a copy (which causes the data to be freed prematurely).
…arse"

This reverts commit 00f6992.

Kept changes to "io.cpp", which fixes the an issue with out-of-bounds iterators.
Fixed stochastic failures due to a faulty random number generator and asynchronous operations.

Co-authored-by: shakedregev <shakedregev@users.noreply.github.com>
…ykkt/. Code compiles but has not been tested.

Co-authored-by: andrewxu319 <andrewxu319@users.noreply.github.com>
andrewxu319 and others added 22 commits June 4, 2026 21:06
Co-authored-by: Shaked Regev <35384901+shakedregev@users.noreply.github.com>
@pelesh pelesh self-requested a review June 4, 2026 21:40
@pelesh pelesh added enhancement New feature or request hip cuda labels Jun 4, 2026
@pelesh pelesh added this to the HyKKT milestone Jun 4, 2026
@andrewxu319 andrewxu319 merged commit 6a1eeef into andrew/sccg-and-matrix-class Jun 4, 2026
6 checks passed
@andrewxu319 andrewxu319 deleted the andrew/hykkt-solver branch June 4, 2026 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cuda enhancement New feature or request hip

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants