The following list presents general digressions of the Intel MKL LAPACK95 implementation from the Netlib analog:
You can transform an application that uses the Netlib LAPACK interfaces to ensure its work with the Intel MKL interfaces providing that:
You should transform your application in the following cases (see Specific Features of Fortran 95 Interfaces for LAPACK Routines for specific differences of individual interfaces):
When using the Netlib routines that differ from the Intel MKL routines only by the LA_ prefix or in the array attribute target. The only transformation required in this case is context name replacement. See "Interfaces Identical to Netlib" for details.
When using Netlib routines that differ from the Intel MKL routines by the LA_ prefix, the target array attribute, and the names of formal arguments. In the case of positional passing of arguments, no additional transformation except context name replacement is required. In the case of the keywords passing of arguments, in addition to the context name replacement the names of mismatching keywords should also be modified. See "Interfaces with Replaced Argument Names" for details.
When using the Netlib routines that differ from the respective Intel MKL routines by the LA_ prefix, the target array attribute, sequence of the arguments, arguments missing in Intel MKL but present in Netlib and, vice versa, present in Intel MKL but missing in Netlib. Remove the differences in the sequence and range of the arguments in process of all the transformations when you use the Netlib routines specified by this bullet and the preceding bullet. See "Modified Netlib Interfaces" for details.
When using the getrf, gbtrf, and potrf interfaces, that is, new functionality implemented in Intel MKL but unavailable in the Netlib source. To override the differences, build the desired functionality explicitly with the Intel MKL means or create a new subroutine with the new functionality, using specific MKL interfaces corresponding to LAPACK 77 routines. You can call the LAPACK 77 routines directly but using the new Intel MKL interfaces is preferable. See "Interfaces Absent From Netlib" and "Interfaces of New Functionality" for details. Note that if the transformed application calls getrf, gbtrf or potrf without controlling arguments rcond and norm, just context name replacement is enough in modifying the calls into the Intel MKL interfaces, as described in the first bullet above. The Netlib functionality is preserved in such cases.
When using the Netlib auxiliary routines. In this case, call a corresponding subroutine directly, using the Intel MKL LAPACK 77 interfaces.
Transform your application as follows: