New ILP64 ( 64-bit integer) pardiso_64 interface of PARDISO is now available


pardiso_64 is an alternative ILP64 (64-bit integer) interface of PARDISO. pardiso_64 interface is equal to pardiso interface, but it accepts and returns all INTEGER data as INTEGER*8.

The main idea behind the introducing
pardiso_64 entry point is a possibility to have ILP64 functionality of PARDISO in programs which linked with regular (LP64) Intel® MKL libraries. pardiso_64 is intended for solving problems with huge original matrices (with the number of non-zero elements ~500 million and more).

Syntax of pardiso_64:

As well as pardiso, pardiso_64 is declared in mkl_pardiso.f77 for FORTRAN 77 interface, in mkl_pardiso.f90 for Fortran 90 interface, and in mkl_pardiso.h for C interface.

The syntax of this new API for Fortran:
call pardiso_64 (pt, maxfct, mnum, type, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error)
correspondingly for C : pardiso_64 (pt, &maxfct, &mnum, &mtype, &phase, &n, a, ia, ja, perm, &nrhs, iparm, &msglvl, b, x, &error);

See as an example the declaration of pardiso_64 into MKL PARDISO C header file "mkl_pardiso.h"

void pardiso_64 ( _MKL_DSS_HANDLE_t,
long long int *, long long int *,   long long int *, long long int *, long long int *,                  void *,  long long int *,  long long int *, long long int *, long long int *, long long int *, long long int *, void *, void *,  long long int *);

Compiling and linking with pardiso_64:

- No changes need to be done in the case when you use ILP64 interfaces. The same linking line as for ordinary PARDISO API.     Also note that in this case calls to pardiso and pardiso_64 have no differences.

- In the case of LP64 interfaces, before calling pardiso_64, users have to copy all original INTEGER data to INTEGER*8 and       pass these parameters to pardiso_64.

-pardiso_64 is supported only in the 64-bit libraries.
If pardiso_64 is called from the 32-bit libraries, it returns error =-12




-  pardiso_64 is available in Intel® MKL version 10.2.6 and higher.

-  Take into account that pardiso_64 may perform slower than regular pardiso on Reordering and Symbolic factorization phase.



For more complete information about compiler optimizations, see our Optimization Notice.