Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
95 Views

What is the type of variable pt required by pardiso

Jump to solution

I am attempting to invert a matrix using pardiso in intel MKL, Fortran. (ifort 2017)

 

subroutine test

use vars
use vars_parallel
use lapack95, only:  DGBSV_F95
implicit none
include 'mkl.fi'
integer ii,im,in,ip,ix,iy,ik,ir,ic,ixr,ixc,ipr,ipc,ikr,ikc,iter,niter,i,j,n,kl,ku,ldab, ipiv, ldb
integer is,l_success,l_ss,info,i1,i2,ndiag,IROWB,irow,icol,icount,nband
integer maxfct,mnum,mtype,phase,nrhs,iparm(1:64),msglvl,error,irow_previous
integer*8 pt(1:64)




!Band storage: One diagonal + kl lowers + ku uppers
kl=5+2
ku=5+2
n=nx*np
ldab=2*kl+ku+1
nband=kl+ku+1
pt=0


ia(n+1)=icount+1
maxfct=1
mnum=1
mtype=1
nrhs=1
msglvl=0 
call pardisoinit(pt, mtype, iparm)
call pardiso_d(pt,maxfct,mnum,mtype,phase,n,Apimp,ia,ja,perm,nrhs,iparm,msglvl,Bimp,xsol,error)


end

The compiler complains about the variable "pt". It says "The type of the actual argument differs from the type of the dummy argument".

According to the documentation, pt is an integer array on 32-bit systems and an integer*8 on 64-bit systems. My system is 64-bit. I have also tried declaring pt as an integer (rather than integer*8).

How can I find out what type ot shoudl really be?

Thanks.

0 Kudos

Accepted Solutions
Highlighted
Black Belt
86 Views

As you can see from the examples in the folder ...\mkl\examples\solverf, or in the include file mkl_pardiso.fi, the type of pt is MKL_PARDISO_HANDLE . Since this is not an intrinsic type, you will need a definition for it in the subprogram that calls Pardiso (for example, by inserting USE mkl_pardiso).

View solution in original post

0 Kudos
2 Replies
Highlighted
Black Belt
87 Views

As you can see from the examples in the folder ...\mkl\examples\solverf, or in the include file mkl_pardiso.fi, the type of pt is MKL_PARDISO_HANDLE . Since this is not an intrinsic type, you will need a definition for it in the subprogram that calls Pardiso (for example, by inserting USE mkl_pardiso).

View solution in original post

0 Kudos
Highlighted
Beginner
64 Views

Thanks for the speedy reply, Mecej, problem solved. Now I'll sift through the runtime errors...

0 Kudos