- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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).
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the speedy reply, Mecej, problem solved. Now I'll sift through the runtime errors...
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page