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 ?
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.
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.
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.