SMG2S is a software which provides to generator the non-Hermitian and non-Symmetric Matrices with User-customized eigenvalues. SMG2S is implemented in parallel based on MPI (Message Passing Interface) and C++11 to support efficiently the generation of test matrices on distributed memory platforms. We propse SMG2S to generate large matrices with known spectra to benchmark the iterative methods on supercomputers, whose convergence has strong connection with the properties of spectra.
UCGLE is a distributed and parallel implementation of iterative method based on C/MPI and PETSc to solve very large non-Hermitian linear systems in large-scale homogenous and heterogeneous clusters. UCGLE is a special variant of hybrid iterative methods preconditioned by Least-Squares polynomial. It uses the static MPI communicator to support the asynchronous communication.
m-UCGLE is an extension of UCGLE based on C++/MPI, Trilinos/Belos and Trilinos/Anasazi to solve large non-Hermitian linear systems with multiple Right-hand Sides at the same time on large-scale homogenous and heterogeneous clusters. Multiple block GMRES and block Krylov-schur computing components can be allocated simultaneously and managed by a specified scheduler. Convergence of m-UCGLE is accelerated by a block version of Least Squares Polynomial preconditioner developed during my thesis.