Quantcast
Channel: Intel® Software - Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
Viewing all articles
Browse latest Browse all 3005

PARDISO gives wrong answers when given too many rhs's

$
0
0

When I call PARDISO with too many rhs's I get wrong answers.


I first call PARDISO for phase 11 and phase 22. I keep the factored matrix in memory, and, subsequently leave the subroutine that calls PARDISO.


I later call PARDISO to perform only phase 33. I send in a fully populated, "stacked" rhs vector (i.e. total number of entries is neq*nrhs).


Here's what I've found:


Case 1: When I call PARDISO for phase 33 only and all 9,850 rhs's, the PARDISO returns completely wrong answers. Many NaN's and all other completely wrong vales.


Also, after the call to PARDISO, I cannot successfully deallocate some arrays (these arrays are totally unrelated to the matrices used by PARDISO). The message is


"Invalid pointers" I suspect that PARDISO has overwritten some of the pointers (and/or values in these arrays that I cannot deallocate. Perhaps a memory leak????


Case 2: When I call PARDISO for phase 33 only, sending in 3,000 rhs's at time (i.e I call PARDISO 4 times (1st 3000, 2nd 3000, 3rd 3000, 4th 3000, and, then the remaining 850 rhs) I get wrong answers,


BUT, the answers are almost reasonable. There are no NaN's and without knowing I might guesss the answers are correct. In the Case 2, the deallocation problem, mentioned in case 1, does NOT occur.


Case 3: When I call PARDISO for phase 33 only, sending in 100 rhs's at a time (i.e. I call PARDISO 99 times) I get the correct answers for everything, and, there are no problems.


===============


What is causing this problem? I am concerned that other models (let's say I've got 500,000 equations) may provide wrong answers, and, I won't know it (i.e. I have no way


of knowing the largest number of rhs's that I can send into PARDISO in a single chunk, for a general model.


==============


I know that I'm not running out of central memory, and, I know that I'm not running out of swap space. Do I have a number of threads problem??


=====================


MKL: Version 10.3 Update 4


Operating System: Red Hat Enterprise Linux AS release 4 (Nahant Update 8)


Environment Variables set:
MKL_NUM_THREADS = 32


Computer has 32 processors


Computer has 198 Gb of memory


Computer has 68 Gb of available swap space


==================================================


I am using solution PARDISO mtype=6 (i.e. double precision complex, symmetric, in-core only)


Number of equations is 183,180


Needed number of rhs's = 9,850


==================================================


Any help would be GREATLY appreciated.


Thanks, Bob


Viewing all articles
Browse latest Browse all 3005

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>