Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

Appendix C:
Specific Features of Fortran 95 Interfaces for LAPACK Routines

Intel® MKL implements Fortran 95 interface for LAPACK package, further referred to as MKL LAPACK95, to provide full capacity of MKL FORTRAN 77 LAPACK routines. This is the principal difference of Intel MKL from the Netlib Fortran 95 implementation for LAPACK.
A new feature of MKL LAPACK95 by comparison with Intel MKL LAPACK77 implementation is presenting a package of source interfaces along with wrappers that make the implementation compiler-independent. As a result, the MKL LAPACK package can be used in all programming environments intended for Fortran 95.
Depending on the degree and type of difference from Netlib implementation, the MKL LAPACK95 interfaces fall into several groups that require different transformations (see “MKL Fortran 95 Interfaces for LAPACK Routines vs. Netlib Implementation” ). The groups are given in full with the calling sequences of the routines and appropriate differences from Netlib analogs.
The following conventions are used:
<interface> ::= <name of interface> ‘(’ <arguments list>‘)’ <arguments list> ::= <first argument> {<argument>}* <first argument> ::= < identifier > <argument> ::= <required argument>|<optional argument> <required argument> ::= ‘,’ <identifier> <optional argument> ::= ‘[,’ <identifier> ‘]’ <name of interface> ::= <identifier>
where defined notions are separated from definitions by
::=
, notion names are marked by angle brackets, terminals are given in quotes, and
{…}*
denotes repetition zero, one, or more times.
<first argument>
and each
<required argument>
should be present in all calls of denoted interface,
<optional argument>
may be omitted. Comments to interface definitions are provided where necessary. Comment lines begin with character
!
.
Two interfaces with one name are presented when two variants of subroutine calls (separated by types of arguments) exist.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804