[WIP] Allow turning off allowscalar copies for yacusolver - #270
Conversation
lkdvos
left a comment
There was a problem hiding this comment.
Definitely looks reasonable to me, although it would be nice to get a sense of how bad the performance is to try and decide if we want to turn this on or off by default.
Is this specifically for the case where we apply the factorizations to a bunch of blocks and don't want to sync inbetween? There might also be a case for writing a batched version that tries to only sync at the end or something similar
Indeed it helps with this but not only here, another example is |
|
Yeah fair enough, I definitely think the keyword argument is a good solution, just slightly on the fence about disabling checks by default. 🤷 it's a bit annoying to think that PEPSKit would run without these and then if at some point something doesn't converge it just silently goes haywire, and then you have to do a full rerun with checks on to figure out what happened, but I guess that's what it has to be |
|
I agree, that's why I think in fact this should be settable at |
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
The idea of this PR is to make the checks involving
@allowscalaroptional. These copies are extremely expensive and block the device, so by (optionally) disabling them, we should be able to make better use of the GPU.So far I've just done the CUSOLVER ones, but I can also do ROCSOLVER if we like the idea. I think it would make sense to have a settable flag that turns the checks on and off so that users can control it, or a
CheckedCUSOLVERdriver. Anyone have thoughts on that angle?