-
Notifications
You must be signed in to change notification settings - Fork 5
Use TestSuite for QR and LQ #119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report❌ Patch coverage is
... and 4 files with indirect coverage changes 🚀 New features to boost your workflow:
|
lkdvos
left a comment
There was a problem hiding this 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.
|
The GPU tests are currently in the same files, AFAICT? |
7fb05b1 to
d3d01b8
Compare
|
Your PR no longer requires formatting changes. Thank you for your contribution! |
|
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 |
d3d01b8 to
a71f10a
Compare
lkdvos
left a comment
There was a problem hiding this 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!
The LQ tests still need their version of the algorithm tests! |
|
OK, now the LQ algo tests are in! |
|
OK, the GenericLinearAlgebra stuff is now tested as well. I had to add some special casing because |
9f014ff to
38f0c55
Compare
Jutho
left a comment
There was a problem hiding this 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!
38f0c55 to
6f0c192
Compare
lkdvos
left a comment
There was a problem hiding this 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!
|
OK, I think that is everything! |
Goal here is to break up #93 into more manageable diffs, starting with LQ and QR