Skip to content

Conversation

@RomeoV
Copy link
Owner

@RomeoV RomeoV commented May 19, 2025

Comes with:

  • OMP reimplementation
  • Default to Arnoldi solver
  • ksvd_loop implementation
  • fasterror and fasterror!

RomeoV added 9 commits May 19, 2025 11:41
We had previously removed minibatching because it's a bit tricky to get
to work with Matryoshka. However, we managed to bring it back.
To this end, we also introduced `maybeview`: A function that constructs
a view if the column indexing is contiguous, and otherwise copies.

The new minibatching continues to only update `D` on some subset of the
columns of `Y`, but returns `X` for all columns of `Y`, as it's good to
update the structure.
Because these types hold big matrices, whenever they are printed, the
terminal blows up. This occurs for example in the tests...
Now it should be fine.
Sometimes matryoshka fails budget assignment for too small problems.
Use `ceil` so that we always have at least one nnz.
May lead to a total nnz count that's slightly out of budget though...
When the error is precomputed, we had issues where we had preallocated
an error buffer for the entire data matrix, but then tried to copy in
only the minibatch slice.

Now we preallocate only an error buffer according to the minibatch size.
Copy link
Owner Author

@RomeoV RomeoV left a comment

Choose a reason for hiding this comment

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

Some feedback...

@RomeoV RomeoV merged commit a4323d9 into master May 20, 2025
2 of 3 checks passed
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