Skip to content

Conversation

@kshyatt
Copy link
Member

@kshyatt kshyatt commented Dec 17, 2025

Goal here is to break up #93 into more manageable diffs, starting with LQ and QR

@kshyatt kshyatt requested a review from lkdvos December 17, 2025 10:59
@codecov
Copy link

codecov bot commented Dec 17, 2025

Codecov Report

❌ Patch coverage is 83.33333% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/implementations/lq.jl 50.00% 1 Missing ⚠️
Files with missing lines Coverage Δ
ext/MatrixAlgebraKitGenericLinearAlgebraExt.jl 95.65% <100.00%> (ø)
src/implementations/qr.jl 91.38% <100.00%> (-5.24%) ⬇️
src/implementations/lq.jl 95.18% <50.00%> (-3.75%) ⬇️

... and 4 files with indirect coverage changes

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

@kshyatt kshyatt requested a review from Jutho December 17, 2025 12:52
Copy link
Member

@lkdvos lkdvos left a comment

Choose a reason for hiding this comment

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

This looks great!

I think the main comment would just be about still testing the different algs as well, since I think we are now not being that thorough about this.

With the idea of having this be useful for downstream tests as well, how do you feel about introducing a general function with the following signature in the test suite, which can then be overloaded if need be as well:

test_function(::typeof(qr_full!), T::Type, sz; kwargs...)
test_function(::typeof(qr_full!), T::Type, sz, alg::AbstractAlgorithm; kwargs...)

where the first signature is the one we already have, which uses keyword arguments to find an algorithm automatically, and the second is a different signature for testing out a provided algorithm instead?


Finally, I was wondering if it makes sense to intersperse the GPU tests with the CPU ones like that, or to simply keep a little bit of boiler plate and still have them in separate files.
Part of this is because I would like to eventually move to https://github.com/JuliaTesting/ParallelTestRunner.jl, which automatically detects tests by files.

@kshyatt
Copy link
Member Author

kshyatt commented Dec 18, 2025

The GPU tests are currently in the same files, AFAICT?

@github-actions
Copy link

github-actions bot commented Dec 18, 2025

Your PR no longer requires formatting changes. Thank you for your contribution!

@kshyatt
Copy link
Member Author

kshyatt commented Dec 18, 2025

OK, added some algorithm tests to the QR test suite as an example, if we like this then I'll do the same to LQ. The idea is to just cover every supported algorithm for each array backend and make sure some basic properties work. We don't have a good way to check ispivoted(alg), for example, so the tests are quite barebones.

Copy link
Member

@lkdvos lkdvos left a comment

Choose a reason for hiding this comment

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

Looks great to me, I think only the remaining comment about testing the positive-ness of the alg implementation if need be is what I would still add, otherwise this is good to go for me.

Thanks for all the work on this, I really think this is a massive improvement!

@kshyatt
Copy link
Member Author

kshyatt commented Dec 18, 2025

I think only the remaining comment about testing the positive-ness of the alg implementation if need be is what I would still add, otherwise this is good to go for me.

The LQ tests still need their version of the algorithm tests!

@kshyatt
Copy link
Member Author

kshyatt commented Dec 18, 2025

OK, now the LQ algo tests are in!

@kshyatt
Copy link
Member Author

kshyatt commented Dec 18, 2025

OK, the GenericLinearAlgebra stuff is now tested as well. I had to add some special casing because qr_null just doesn't work there, and it's a big weird that we did support Float16 for Diagonal but not generic arrays (when it would work with GLA)

Copy link
Member

@Jutho Jutho left a comment

Choose a reason for hiding this comment

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

Two minor comments, but otherwise looks great!

Copy link
Member

@lkdvos lkdvos left a comment

Choose a reason for hiding this comment

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

Except for the minor comment about being able to locally run the /gputests, I'd be happy to get this merged!

@kshyatt
Copy link
Member Author

kshyatt commented Dec 19, 2025

OK, I think that is everything!

@kshyatt kshyatt merged commit 2ef4ab1 into main Dec 19, 2025
9 of 10 checks passed
@kshyatt kshyatt deleted the testsuite-lq-qr branch December 19, 2025 18:50
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.

4 participants