Tobias Ribizel
Tobias Ribizel
`ResidualCachable` seems pretty specific to solvers, maybe we should put it into SolverBase and return a workspace ID (or invalid_index) for the residual, then we don't need a new interface?...
Where do you need the lifetime of the residual vector to be extended past its solver's lifetime? It sounds to me like you only want to avoid recomputing the residual...
I like this approach much better, thanks for the update! I would still like to consolidate this with a potential factory parameter `with_initial_guess` that does the same thing, but I...
Issues with cross-executor execution are mainly (exclusively?) based on memory space accessibility, which is a `core` responsibility, so I think it should be sufficient to add a single cross-executor test...
This would not be an issue if we were storing temporary data inside solvers, right?
What you are describing (eliminating all `cudaFree` calls from hot paths) does not necessarily require garbage collection functionality. The main requirement is pulling (re)allocations of temporary memory out of these...
Thank you for the clarification! That is a much more limited view that I could potentially get on board with. It slightly reminds me of Herb Sutter's deferred_ptr proposal. I...
I think if we want to take on allocation, one important change would be adding a size parameter to `raw_free`, otherwise we would need to keep track of allocation sizes...
We are thinking about adding general indexing (row stride + column stride) to our Dense matrix format, so that is not entirely out of reach. What I can't follow though...
How large an `n` are we talking about here? And do you want to use it in an SpMV, solver or preconditioner? As long as the vector is of sufficient...