Skip to content

Rsvd for symmetric tensors#744

Open
manuschneider wants to merge 8 commits intomasterfrom
rsvd
Open

Rsvd for symmetric tensors#744
manuschneider wants to merge 8 commits intomasterfrom
rsvd

Conversation

@manuschneider
Copy link
Collaborator

Implementing Rsvd for symmetric tensors
Cleaning up Svd, Gesvd, Rsvd and unifying the implementations

@manuschneider manuschneider force-pushed the rsvd branch 3 times, most recently from 0ec4111 to a8ee89c Compare February 25, 2026 12:06
@codecov
Copy link

codecov bot commented Feb 26, 2026

Codecov Report

❌ Patch coverage is 72.00791% with 566 lines in your changes missing coverage. Please review.
✅ Project coverage is 36.88%. Comparing base (e87c3a2) to head (519cbf7).
⚠️ Report is 3 commits behind head on master.

Files with missing lines Patch % Lines
src/linalg/Svd.cpp 50.14% 168 Missing and 7 partials ⚠️
src/linalg/Rsvd.cpp 64.52% 58 Missing and 69 partials ⚠️
src/linalg/Gesvd_truncate.cpp 60.82% 54 Missing and 51 partials ⚠️
src/linalg/Svd_truncate.cpp 62.40% 50 Missing and 47 partials ⚠️
src/linalg/Gesvd.cpp 90.05% 20 Missing and 15 partials ⚠️
src/linalg/Rsvd_notruncate.cpp 93.77% 7 Missing and 20 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #744      +/-   ##
==========================================
+ Coverage   32.35%   36.88%   +4.53%     
==========================================
  Files         215      215              
  Lines       36363    33600    -2763     
  Branches    14597    13561    -1036     
==========================================
+ Hits        11764    12395     +631     
+ Misses      22659    19203    -3456     
- Partials     1940     2002      +62     

☔ View full report in Codecov by Sentry.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@manuschneider manuschneider marked this pull request as ready for review March 16, 2026 14:03
@manuschneider manuschneider added enhancement New feature or request Pending check/approval Issue fixed, and need feedback Top priority The Issue that has top priority labels Mar 16, 2026
@ianmccul
Copy link
Contributor

@codex review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 519cbf74b1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +91 to +93
if (is_U) {
U = Matmul(Q, U);
out.push_back(U);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Guard GPU U back-projection behind applyQ

When keepdim >= min(m, n) (or block-level svalnum exceeds block rank), the code skips randomized projection and leaves Q uninitialized, but the GPU branch still executes U = Matmul(Q, U). This introduces invalid behavior specifically on CUDA runs for non-truncated RSVD (and for truncated symmetric RSVD too, since it calls this path), whereas the CPU path correctly checks applyQ first.

Useful? React with 👍 / 👎.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@chatgpt-codex-connector
Copy link

To use Codex here, create a Codex account and connect to github.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Pending check/approval Issue fixed, and need feedback Top priority The Issue that has top priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants