Hi, the difference between LP64 and ILP64 is as follows: ILP64 interface accepts ALL integer data as 8-byte (64-bit). It means that in order to use ILP64 interface of MKL (or just PARDISO)correctlyyou should do:
1a) Replacemkl_intel_lp64.libwithmkl_intel_ilp64.lib(seems already done)
1b) Link with usual mkl_intel_lp64.lib, but call pardiso_64 function instead of pardiso.
You can choose between 1a and 1b, it's up to you.
2) Make all scalar and arrays data which you pass to pardiso (1a case) or pardiso_64 (1b case) 64-bit. For example, your mtype, ia, ja, iparm (and any other int data) should be declared as:
integer*8, allocatable ia(:), ja(:)..... ! Fortran, or
long long int *ia, *ja...... ; // C/C++
Regards,
Konstantin