• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wegamekinglc / Derivatives-Algorithms-Lib / 28317907588

28 Jun 2026 09:28AM UTC coverage: 81.517% (+0.03%) from 81.491%
28317907588

Pull #183

github

wegamekinglc
Fuse CG/BCG Krylov sweeps and banded TriMultiply neighbour passes

- P7: PrepareDirection_ and UpdateSolution_ in bcg.cpp collapse their
  separate scale/add (and LinearIncrement) sweeps into single AXPY passes
  over p/z/x/r (plus the bi-conjugate pp/zz/rr shadows). Operation order is
  preserved (p*multiply + z; dst + scale*src) so -ffp-contract=fast forms the
  same FMAs as the unfused two-pass code, keeping the result numerically
  faithful on the FP-sensitive joint-calibration path.
- P8: TriMultiply in banded.cpp keeps the dominant diag*x Transform pass
  (vectorization-identical to the unfused code) and fuses the two strided
  neighbour-correction loops into one sweep. A full single-pass interleave
  was tested and rejected: it re-vectorizes the diag*x term, perturbing FP
  rounding enough to flip JointCalibrationTest.TestJointOisCurveAgreesWithStagedOis
  from 7e-6 (unfused) to 5.7e-4 (past the 1e-5 bar); the hybrid stays at 4.6e-6.
- Add residual-bound regression tests for CG (symmetric) and BCG (asymmetric)
  Krylov solves, and an asymmetric TriMultiply test covering all three bands
  and both boundaries.

Benchmarks (GCC -O3 -march=native -ffp-contract=fast):
  CGSolve 500x500        15.24us -> 13.95us  (-8.5%)
  BCGSolve 500x500       19.40us -> 17.64us  (-9.0%)
  TriDecomp MultiplyLeft 10K  5.53us ->  4.34us  (-21.6%)
  TriDiagonal MultiplyLeft 10K 5.33us ->  4.27us  (-19.7%)

Co-Authored-By: Claude <noreply@anthropic.com>
Pull Request #183: perf: fuse CG/BCG Krylov sweeps and banded TriMultiply (FMA-aligned)

7 of 7 new or added lines in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

6364 of 7807 relevant lines covered (81.52%)

3226344.26 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.71
/dal-cpp/dal/math/matrix/bcg.cpp


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc