Skip to content

GPU ineqality constraints (RAJA) to OLCF Hackathon branch#39

Closed
kswirydo wants to merge 3 commits intoolcf-hackathon-2026-devfrom
gpu-ineqjac-stub
Closed

GPU ineqality constraints (RAJA) to OLCF Hackathon branch#39
kswirydo wants to merge 3 commits intoolcf-hackathon-2026-devfrom
gpu-ineqjac-stub

Conversation

@kswirydo
Copy link
Copy Markdown
Collaborator

As described in the title.

pelesh and others added 3 commits April 15, 2026 12:37
Replace PETSc-based inequality Jacobian with GPU RAJA kernels

Move the inequality constraint Jacobian computation for the HiOp sparse
GPU solver entirely to the device, eliminating the per-iteration host
back and forth (copy to host, PETSc compute, MatGetRow extraction, values
copy back to device). Elimiate PETSc use from this part of the code.

Three RAJA kernels now compute directly into device memory:
- Generator set-point constraints (AGC)
- Voltage-reactive-power bounds (FIXED_WITHIN_QBOUNDS)
- Line flow limits (Sf^2/St^2 derivatives + slack variables)

Supporting changes:
- Analytical NNZ counting replaces PETSc MatGetInfo at solver setup
- New device-side parameter fields (apf, vs, xpdevidx, xslackidx,
  bus-to-gen mapping) added to *ParamsRajaHiop structs
- Sparse position indices assigned at model setup for all three
  contribution types

Includes validation test (test_ineqjac_gpu) that solves with IPOPT,
then compares PETSc and GPU Jacobian values at the converged solution.
Optional -benchmark flag for performance comparison.

Made-with: Cursor
@kswirydo kswirydo requested review from nkoukpaizan and pelesh April 16, 2026 20:26
@pelesh
Copy link
Copy Markdown
Collaborator

pelesh commented Apr 16, 2026

Closing in favor of #40

@pelesh pelesh closed this Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants