Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

unable to compile/link Pardiso in IF16

LRaim
New Contributor I
854 Views

Using IF15, in a subroutine I make a call to Pardiso with mkl_pardiso.f77' and everything was OK.

Now with IF16 upd 4 the compilers is unable to include mkl_pardiso.f77.

Both include documented in the user reference manual i.e.

  • include mkl.fi
  • include mkl_pardiso.f90

generates compiler errors.

What one should do ?

 

 

 

0 Kudos
3 Replies
Gennady_F_Intel
Moderator
854 Views

yes, All F77 header files which were removed from MKL since v.11.3 beta, because of F90 is superset of F77.  *.f90 and *.fi header files can be used instead of *.F77. All supported Fortran compilers ( PGI, Intel and GNU ) have F90 support. We announced that into Release Notes.  

 

0 Kudos
FengR
Beginner
854 Views

HI there,

I am using IVF 2017 upd 1 right now and I encountered the same issues.

If I used mkl_pardiso.f90, the compiler complained about "error #6218: This statement is positioned incorrectly and/or has syntax errors" regarding the module definition of MKL_PARDISO_PRIVATE at the beginning of mkl_pardiso.f90. If I used mkl_pardiso.fi, the compiler complained about the "&" (the continuation mark in F90) since I am mainly using F77 format in the compiler. I can certainly change mkl_pardiso.fi or mkl_pardiso.f90 to try to make the compilation work, however, I think that this is not very desired if I tried to make my program be deployable.

Thanks.

0 Kudos
mecej4
Honored Contributor III
854 Views

Compile mkl_pardiso.f90 by itself; that will produce the module files that can be used in your code. If you INCLUDE mkl_pardiso.f90, make sure that the INCLUDE line is not inside a program unit.

The file mkl_pardiso.fi, on the other hand, is designed to be included inside a program unit (module, main program, subroutine or function, as appropriate), provided that the host file is in fixed form. I suggest that you avoid mkl_pardiso.fi altogether, and to your sources add USE mkl_pardiso instead.

0 Kudos
Reply