I have a problem with Pardiso running out of memory in the reordering/numerical factorization phase (11). I'm using MKL 188.8.131.52.
It is not clear to me how the out of core option (iparm(60)) and environment variables MKL_PARDISO_OOC_MAX_CORE_SIZE and MKL_PARDISO_OOC_MAX_SWAP_SIZE affects phase 11; from my own testing it seems as if these parameters have no effect in phase 11. Is this correct?
For example, for an SPD matrix with 17 million degrees of freedom and 489 million non-zeros. The matrix is a stiffness matrix originating from a finite-element discretization. Although this is a large problem I would suspect it to work with Pardiso in out-of-core mode. I would like this to work not just for this matrix, but for "any" SPD matrix in principle.
What is the best general strategy to get past phase 11 (so that out-of-core mode will take effect)? Is there any point playing with the parameters mentioned above or do they not have an effect in phase 11? Which reordering algorithm should I use?
MKL_PARDISO_OOC_MAX_CORE_SIZE and MKL_PARDISO_OOC_MAX_SWAP_SIZE do not affect phase 11 at all.
All OOC computations related only to phase 22(numerical factorization) and 33(forward and backward substitutions)
Thanks. That makes things clearer.
Is there any strategy to cope with the memory limitation in phase 11? Before the first call to Pardiso, I have about 10GB of free memory, but it is not enough for this (admittedly very large) problem ...