Tobias Ribizel
Tobias Ribizel
The logger adds timers for all important Ginkgo events based on the [perfstubs](https://github.com/UO-OACISS/perfstubs) library. To make it work, we also need to forward all logger events to the executor. This...
This PR separates the step1 and initialize2 kernels into individual reductions (norm and dot) and axpy/scale operations, which allows us to use the simple kernel setup for all of GMRES...
Currently we don't correctly deal with the case that the initial guess already solves Ax=b, which leads to NaNs in (CB-)GMRES in #973. This should be fixed before the next...
In #973 we use really large tolerances, because already after a few iterations, Reference and device kernels diverge noticeably. We need to figure out whether this is just an inherent...
In the tests for #973, I noticed that the IDR implementation uses different approaches to initialize the random matrix across executors. To improve testability, we should initialize the data in...
In the discussion on #993, but also some previous issues like #740 and #565, as well as future plans like #805, there is an underlying thing we have not yet...
Currently, our error reporting from within Ginkgo leaves a bit to be desired. It builds on two things: explicit errors like mismatching dimensions in LinOp::apply and implicit errors like the...
This adds a simple sync-free parallel triangular solver to OpenMP. cc @lksriemer
As observed in https://github.com/ginkgo-project/ginkgo/discussions/939, our reordering interface is easy to accidentally misuse. Part of the issue is that Permutation violates the LinOp assumptions in some situations. A permutation matrix is...
This PR makes the simple `run_kernel` interface public and adds an example for how to use to allow portable kernel execution.