Skip to content

chore: matmul cleanup#585

Open
dvdplm wants to merge 21 commits into
mainfrom
dvdplm/perf/matmul-optimizations
Open

chore: matmul cleanup#585
dvdplm wants to merge 21 commits into
mainfrom
dvdplm/perf/matmul-optimizations

Conversation

@dvdplm
Copy link
Copy Markdown
Contributor

@dvdplm dvdplm commented May 10, 2026

After the bi-variate poly opt (PR #576), the matmul code left was not doing very much. This PR cleans that up a bit by introducing a VdmMatrix type and implement only the math we need:

  • constructor from exceptional seq
  • mul from the left by a vector

On my machine the new code is ~45% faster for the sizes we use (n=13, t=4):

group                                                  matrix-main         new                speedup
-----                                                  -----------         ---                -------
matrix/production/single_sharing_vdm/n13_t4            859.7 ns            598.2 ns           1.44×
matrix/production/double_sharing_vdm/n13_t4            1715.6 ns           1166.6 ns          1.47×
matrix/production/robust_prss_transposed_vdm/n13_t4    859.3 ns            582.1 ns           1.48×

Also removes the ndarray crate from the workspace.

@dvdplm dvdplm requested a review from a team as a code owner May 10, 2026 08:02
@cla-bot cla-bot Bot added the cla-signed The CLA has been signed. label May 10, 2026
@dvdplm dvdplm marked this pull request as draft May 10, 2026 08:03
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 10, 2026

Consolidated Tests Results 2026-05-11 - 12:59:49

Test Results

passed 12 passed

Details

tests 12 tests
clock not captured
tool junit-to-ctrf
build build-and-test arrow-right test-reporter link #2056
pull-request chore: matmul cleanup link #585

test-reporter: Run #2056

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
12 12 0 0 0 0 0 not captured

🎉 All tests passed!

Tests

View All Tests
Test Name Status Flaky Duration
k8s_test_crs_uniqueness 31.9s
k8s_test_insecure_keygen_encrypt_and_public_decrypt 2m 6s
k8s_test_insecure_keygen_encrypt_multiple_types 2m 18s
k8s_test_keygen_and_crs 2m 1s
k8s_test_keygen_uniqueness 5m 15s
k8s_test_crs_uniqueness 32.3s
k8s_test_insecure_keygen_encrypt_and_public_decrypt 2m 6s
k8s_test_insecure_keygen_encrypt_multiple_types 2m 20s
k8s_test_keygen_and_crs 2m 2s
k8s_test_keygen_uniqueness 5m 19s
k8s_test_centralized_insecure 53.9s
nightly_full_gen_tests_default_k8s_centralized_sequential_crs 1.7s

🍂 No flaky tests in this run.

Github Test Reporter by CTRF 💚

🔄 This comment has been updated

@dvdplm dvdplm marked this pull request as ready for review May 18, 2026 11:50
@dvdplm dvdplm self-assigned this May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The CLA has been signed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant