I would like to be doing a Phase 2 call on one matrix and doing a Phase 3 call on another matrix with identical pattern (but different non zeros) in parallel. It seems if I pass a different mnum for these two calls and set maxfact = 2 that I should be able to do this, and share pt and iparm between the threads and calls to pardiso. Is this correct? It does not seem to be working for me. The call for the phase 3 thread seems to return incorrect results if Phase 2 call is being done at the same time. Am I misunderstanding how this should work?