Skip to content

Sync convolve and matmul convention#13

Merged
Transurgeon merged 2 commits intomainfrom
sync-convolve-and-matmul-convention
Apr 23, 2026
Merged

Sync convolve and matmul convention#13
Transurgeon merged 2 commits intomainfrom
sync-convolve-and-matmul-convention

Conversation

@Transurgeon
Copy link
Copy Markdown
Collaborator

Will merge this once we sync with the 0.3.0 release.

Transurgeon and others added 2 commits April 23, 2026 15:01
Bump SparseDiffEngine submodule to origin/main (45f88d0), which pulls in
the new convolve atom plus dance858's cleanup of the dense matmul
constructor data-pointer convention.

new_left_matmul_dense / new_right_matmul_dense now require exactly one
of param_node / data to be non-NULL (constants: (NULL, data); parameters:
(capsule, NULL)) — the engine fprintf/exit(1)s otherwise. Update the
dense branches of make_left_matmul and make_right_matmul bindings to
match: drop the PARAM_FIXED wrapper we were building for the constant
case, and forward data=NULL when a real parameter capsule is supplied.
DNLP's helpers.py still hands in A.flatten() in both cases; the binding
absorbs the new convention so no DNLP-side change is needed.

Verified: SparseDiffEngine ctest (267/267), DNLP nlp_tests (217 passed,
77 skipped), DNLP test_convolution + test_atoms (119 passed).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Transurgeon Transurgeon merged commit 4bc2a79 into main Apr 23, 2026
15 checks passed
@Transurgeon Transurgeon deleted the sync-convolve-and-matmul-convention branch April 23, 2026 21:53
Transurgeon added a commit that referenced this pull request Apr 23, 2026
* sync SparseDiffEngine and adapt dense matmul bindings

Bump SparseDiffEngine submodule to origin/main (45f88d0), which pulls in
the new convolve atom plus dance858's cleanup of the dense matmul
constructor data-pointer convention.

new_left_matmul_dense / new_right_matmul_dense now require exactly one
of param_node / data to be non-NULL (constants: (NULL, data); parameters:
(capsule, NULL)) — the engine fprintf/exit(1)s otherwise. Update the
dense branches of make_left_matmul and make_right_matmul bindings to
match: drop the PARAM_FIXED wrapper we were building for the constant
case, and forward data=NULL when a real parameter capsule is supplied.
DNLP's helpers.py still hands in A.flatten() in both cases; the binding
absorbs the new convention so no DNLP-side change is needed.

Verified: SparseDiffEngine ctest (267/267), DNLP nlp_tests (217 passed,
77 skipped), DNLP test_convolution + test_atoms (119 passed).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* trim comments on dense matmul bindings

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

1 participant