# Suggestions for an out-of-core sparse solver

I have a sparse $2\times10^5$ by $2\times10^5$ matrix with $3.2\times10^9$ non-zero elements.

I want a sparse solver with out-of-core functionality. I have attempted to use Intel's MKL pardiso, with a varying degree of success. For smaller problems, it is stellar, but for the problem size above, it is taking a huge amount of RAM (even with the out-of-core enabled), presumably during fill-in reducing ordering stage.

The intel staff has been incredibly helpful with debugging several problems, but I feel that it might be prudent to try a different solver.

Is there any good reference comparing the performance of solvers for big problems?

• Does your problem has a structure that could be exploited ? You used a sparse direct solver, would it be possible to use an iterative solver instead ? (conjugate gradient), that has smaller memory requirements. – BrunoLevy Oct 21 '15 at 10:06
• The matrices in question have very little structure. They are not symmetric, nor diagonal. However, the non-zeros for each row are contiguous (i.e. there are no zeros interrupting a stretch of values). That's the strongest claim I can make about the structure. – ivan-k Oct 21 '15 at 17:59
• and did you try an iterative solver ? (GMRES or BiCGSTAB for instance), with compressed row storage, it may fit in RAM. Do you have an idea of the conditioning ? – BrunoLevy Oct 21 '15 at 21:05
• I did not try any iterative solvers - I suppose that is a reasonable next step. I would need to run some calculations to figure out the condition numbers for the problem. My guess is that they will vary wildly with the parameters. – ivan-k Oct 22 '15 at 4:23