Hi,
I know about the OOC functionality, but if I just want to use the in-core option (iparm(60) = 0), how can I make sure pardiso uses virtual memory (windows 7)? In a large solve with 6 million unknowns, I get the error code -2. After phase 1 I calculate the memory requirement from pardiso as around 30gb, which is more than my available ram, but much less than my available virtual memory.
Related to this is the following question: what is the exact criterion which causes error code -2?
Best,
Jens
Link Copied
If in-core option is used, then after phase 1 calculation, you can determine the total peak memory consumed by MKL PARDISO with max(iparm(15), iparm(16)+iparm(17)). If this value is larger than the size of your RAM then it gives error code -2.
To use the virtual memory for in-core mode, you probably can try this:
Read details here: https://software.intel.com/en-us/node/470298#IPARM60
Thanks - I have now revisited this issue.
Will this work only if iparm(60)=1, or also if iparm(60)=2?
https://software.intel.com/en-us/node/470298#IPARM60 states that "If the total peak memory needed for storing the local arrays is more than MKL_PARDISO_OOC_MAX_CORE_SIZE, increase MKL_PARDISO_OOC_MAX_CORE_SIZEif possible." Is this a fundamental limitation, or is it possible to use virtual memory also for the amount of data required by pardiso to stay in core?
Jens
For more complete information about compiler optimizations, see our Optimization Notice.