"Access violation reading location" in Pardiso

"Access violation reading location" in Pardiso

Hi all,

I'm having problems with the "Pardiso" subroutine in Intel Visual Fortran Composer XE 2011 Update 8.

I get an "access violation reading location" during the computation of the "non-zeros for LL^T factorization," at the very beginning of the analysis phase.

I guess the problem is related either to my MKL configuration or to the way I'm declaring some variables.

I'm attaching a sample project (a simplified version of the actual code).

I run Microsoft Visual Studio 2010 Version 10.040219.1 SP1Rel on Windows 7 SP1, with an Intel Xeon X5650.

The options I chose in the "Properties" window of my project are in the txt file "Properties".

The other text files are the data used by the project (the size of the matrices involved is also very small for practical reasons).

Thank you for your help!

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Best Reply

You probably need to set IPARM(28) = 1 after calling PARDISOINIT and before calling PARDISO_SC. The default value which is set by the call to PARDISOINIT is 0, which is appropriate for double precision complex matrices, whereas your.program concerns itself with a single-precision complex matrix problem.

Until you get rid of errors in calling sequences, it would be prudent to check the error flags returned by PARDISO before continuing computations with the results set by each call.

Thank you for your help,
The code seems to be working fine now!

Another quick question.

Does PARDISO have problems if a complex and unsymmetric matrix happens to have specific symmetries?

I'm trying to use PARDISO with the following simple matrix:
a = (/ 1.0, 1.0, 1.0, 1.0, 1.0 /)
ja = (/ 1, 2, 3, 4, 5 /)
ia(1:5) = (/ 1, 2, 3, 4, 5, 0, 0 /)
ia(6:915) = 0
ia(916) = 6

It's a 915x915 matrix whit a 5x5 diagonal block (a 5x5 unit matrix) in the first 5 diagonal entries.

The output of pardiso says:

Input check: ia(neqns+1)_new 5 old 0 are incompatible
Input parameters: inconsistent error=8 max_fac_store_in: 1
matrix_number_in: 1 matrix_type_in : 13
ido_in : 13 neqns_in : 915
ia(neqns_in+1)-1 : 5 nb_in : 1

I'm calling pardiso with the same code I have uploaded in the first post
(this time I use single precision, and for more complex matrices it works fine).

Thank you

Does PARDISO have problems if a complex and unsymmetric matrix happens to have specific symmetries?
To answer that would lead one to indulge oneself in idle speculation.

Your data initializations do not correctly describe the packed column form of the diagonal matrix. The MKL Reference should be consulted regarding compact columns storage conventions.


ia(1:5) = (/ 1, 2, 3, 4, 5 /); ia(6:n+1)=nnz+1

ja(1:5) = (/ 1, 2, 3, 4, 5 /)

a(1:5) = (/ 1d0, 1d0, 1d0, 1d0, 1d0 /); a(6:nnz)=0d0

Leave a Comment

Please sign in to add a comment. Not a member? Join today