Skip to content

Do not dealloc the scratch space - #100

Merged
drhagen merged 1 commit into
masterfrom
dealloc-scratch
Aug 14, 2026
Merged

drhagen merged 1 commit into
masterfrom
dealloc-scratch

Conversation

@drhagen

@drhagen drhagen commented Aug 14, 2026

Copy link
Copy Markdown
Owner

This is a memory bug in the compute/assemble kernels. (The evaluate kernel is unaffected.) A recent PR (#99) called realloc at the end of the assemble/evaluate kernels to deallocate any unused space. This is technically wrong in the assemble/compute case because compute still writes 0s to the scratch space, even if that space is ultimately not used (because there were no nonzeros to write to it). These zeros may be written in compute after being deallocated in assemble.

This PR fixes this by always leaving the scratch space allocated. This is slightly memory wasteful for evaluate kernels, but the alternative is to either desync how evaluate and assemble work or move the scratch space to some temporary location and only copy the result to vals if it was written to.

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.79%. Comparing base (3a9fbb5) to head (e671dfc).
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #100      +/-   ##
==========================================
+ Coverage   90.78%   90.79%   +0.01%     
==========================================
  Files          60       60              
  Lines        3179     3183       +4     
  Branches      389      389              
==========================================
+ Hits         2886     2890       +4     
  Misses        209      209              
  Partials       84       84              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@drhagen
drhagen merged commit 1f21033 into master Aug 14, 2026
18 checks passed
@drhagen
drhagen deleted the dealloc-scratch branch August 14, 2026 23:21
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