I wrote a JAX wrapper for cuSOLVERMg (https://github.com/flatironinstitute/jaxmg) and I’m trying to understand the algorithms it uses. The documentation describes cuSOLVERMg as “GPU-accelerated ScaLAPACK.”
For potrs, potri, and syevd, is cuSOLVERMg effectively implementing the corresponding ScaLAPACK routines (e.g., P?POTRS, P?POTRI, P?SYEVD) and is the ScaLAPACK User’s Guide is therefore the right place to learn the algorithmic details? Or does cuSOLVERMg diverge enough that ScaLAPACK is only a loose reference?
the ScaLAPACK user guide may give you an idea about how to implement parallel linear algebra algorithms, but there is no guarantee that cuSOLVERMg implements the same algorithms as ScaLAPACK. Please also note that cuSOLVERMg has been deprecated in favor of cuSOLVERMp.
Thank you for the reply. My plan is to switch to cuSOLVERMp in the long run since extending to multi-node configurations is something I would really like to include. Unfortunately I don’t have the bandwidth right now to do more code development. Future work!