Induced Dimension Reduction (IDR) solver in MAGMA

21 views
Skip to first unread message

Sam Austin

unread,
Jan 16, 2025, 3:52:58 PMJan 16
to MAGMA User
Hi there,

I am looking at incorporating the MAGMA-sparse GPU solvers into my finite element software. I would like to use the Induced Dimension Reduction (IDR) method to solve a nonsymmetric system, as it appears to be an attractive alternative to GMRES. I see that MAGMA-sparse has implemented IDR for symmetric matrices, but not for general matrices: https://icl.utk.edu/projectsfiles/magma/doxygen/group__magmasparse__dposv.html.

In this reference, the authors test the MAMGA-sparse IDR solver, but I cannot find it in the documentation for the current release: https://www.sciencedirect.com/science/article/abs/pii/S0167819117300777

Does anyone know why IDR is unavailable for general matrices?

Thanks,
Sam

Natalie Beams

unread,
Jan 16, 2025, 6:21:19 PMJan 16
to MAGMA User, sam.au...@gmail.com
Hi Sam, 

I'm not sure about the IDR implementation in MAGMA -- someone else may know more about its history -- but I wanted to mention that 
we are currently in the process of deprecating a lot of MAGMA-sparse. If possible, we encourage interested users to check out the 
Ginkgo library (https://ginkgo-project.github.io). Ginkgo was started by Hartwig Anzt -- the main driving force behind MAGMA-sparse -- 
but it is under much more active development at this point than MAGMA-sparse (not to be confused with the main MAGMA library, which 
is focused on dense LA). Ginkgo has an IDR solver for general matrices (https://ginkgo-project.github.io/ginkgo-generated-documentation/doc/develop/classgko_1_1solver_1_1Idr.html).
Ginkgo does require C++, however (or writing your own C wrappers) -- not sure if that will work for you.

That being said, I'm not sure why they are missing from the documentation, but I think the magma_*idr and magma_*pidr (with preconditioner) routines are supposed to work
with general matrices (vs *idr_merge). It also seems to depend on whether you are doing real or complex matrices -- I just did a quick test with a non-symmetric matrix,
and magma_zpidr worked, while magma_zpidr_merge didn't -- but magma_dpidr_merge *did* work.


-- Natalie


Sam Austin

unread,
Jan 16, 2025, 11:25:43 PMJan 16
to MAGMA User, Natalie Beams, Sam Austin
Thanks for your informative reply! That clears things up for me.

Sam
Reply all
Reply to author
Forward
0 new messages