The Intel® Visual Fortran Compiler for Windows* Professional Edition with IMSL* includes
"I have used IMSL in nuclear structure theory research focusing on the interplay between single particle and collective effects in relation to the low-energy behavior of atomic nuclei. I rely on a variety of IMSL functions from areas such as nonlinear systems, eigensystems, linear equations, numerical optimization and elliptic integrals for the complex calculations required in my research. The IMSL Fortran Library on Intel architecture provides the functions and performance I need for my research projects."
Dr. Eugene Marshalek
Professor Emeritus of Nuclear Physics
University of Notre Dame
Save time of writing, testing and documenting complex mathematical and statistical algorithms by choosing the time tested and reliable IMSL Fortran Numerical Library.
IMSL Product Brief [PDF 327KB ]
IMSL License Agreement
Features
A Single Cohesive Package of Advanced Numerical Algorithms
At the heart of the IMSL Fortran Numerical Library are the comprehensive and time tested mathematical and statistical numerical algorithms that you can trust. These are the gold standard for numerical computing and software developers can easily embed into their applications. The latest version of the IMSL Fortran Numerical Library is comprised of all of the trusted algorithms from past versions of the IMSL family of Fortran libraries, including the IMSL F90 Library, the IMSL FORTRAN 77 Library, and the IMSL parallel processing features. In addition, new utilities have been added to simplify large-scale computing using ScaLAPACK. For a complete list of the algorithms included in the IMSL Fortran Numerical Library, please see the IMSL Function Catalog [PDF 502KB].
Powerful Interface Modules
The IMSL Fortran Numerical Library includes new powerful and flexible interface modules for all applicable routines, which accomplish the following:
Thread Safety
The majority of subroutines in IMSL Fortran Numerical Library are thread safe, meaning that the routines have been tested to work within multi-threaded applications. Thread safety allows programmers to call the same routine multiple times in a program to allow multiple instances of the routine running on multiple threads, improving performance and simplifying programming.
The following example, using a dense linear programming subroutine, illustrates the thread safe nature of the IMSL Fortran Library. In this simple example, the IMSL subroutine DENSE_LP is executed on separate threads with a different lower bound for second constraint.
USE DENSE_LP_INT
IMPLICIT NONE
INTEGER NOUT, M, NVAR
PARAMETER (M=4, NVAR=6)
DOUBLE PRECISION A(M, NVAR), B(M), C(NVAR), XSOL(NVAR,3), &
DSOL(M,3), BL(M,3), BU(M), OBJ
INTEGER IRTYPE(M)
DATA A/1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, -1, &
0, 0, 0, 0, 1, 0, 0, 0, 0, 1/
DATA B/1.5, 0.5, 1.0, 1.0/
DATA C/-1.0, -3.0, 0.0, 0.0, 0.0, 0.0/
DATA BL/1.5, 0.0, 1.0, 1.0, &
1.5, 0.5, 1.0, 1.0, &
1.5, 1.0, 1.0, 1.0/
DATA BU/M*-1.D30/
DATA IRTYPE/M*0/
! Solve the LP problem with multiple lower bounds
!$OMP PARALLEL DO PRIVATE(J)
DO 10 J = 1, 3
CALL DENSE_LP (A, BL(1,I), BU, C, IRTYPE, OBJ(I), &
XSOL(1,I), DSOL(1,I))
10 CONTINUE
! Print results
WRITE(*, 99999) (OBJ(I),I=1,3)
99999 FORMAT (' Objective', 3F11.4)
END
Complete Backward Compatibility
For over two decades, the IMSL Fortran Numerical Library has maintained full backward compatibility with all previous versions. No code modifications are required for existing applications that rely on previous versions of the IMSL Fortran Numerical Library. Calls to routines from the IMSL FORTRAN 77 Library with the F77 syntax continue to function.
Fully Tested
Visual Numerics has developed over three decades of experience in testing IMSL numerical algorithms for quality and performance across an extensive range of the latest compilers and environments. Visual Numerics works with compiler partners and hardware partners to ensure a high degree of reliability and performance optimization. This experience has allowed Visual Numerics to refine its test methods with painstaking detail. The result of this effort is a robust, sophisticated suite of test methods that allow the IMSL Library user to focus his energy on application development and testing.
SMP/OpenMP Support
The IMSL Fortran Numerical Library offers expanded SMP support for a number of parallel processing environments. Computationally intensive algorithms in the areas of linear systems and matrix manipulation, eigensystem analysis, and fast Fourier transforms (FFTs) leverage SMP capabilities on a variety of systems.
MPI Enabled
The IMSL Fortran Numerical Library provides a dynamic interface for computing mathematical solutions over a distributed system via Message Passing Interface (MPI). MPI enabled routines offer a simple, reliable user interface.
Performance Foundation
The IMSL Fortran Numerical Library utilizes the highly optimized Intel Math Kernel Library (Intel MKL) to provide maximum performance on Intel architecture. Intel MKL is a performance library that is continually updated for the latest Intel processors. Intel MKL provides core mathematical functionality such as vector and matrix math, linear solvers and Fourier Transforms which the IMSL Fortran Numerical Library utilizes for its many scientific calculations.
The IMSL Fortran Numerical Library includes Intel MKL so that at compile time the user can choose to build with a version of the IMSL Library that is linked with Intel MKL in order to gain performance in the areas where Intel MKL has core coverage. For example, once linked, a call to an IMSL Library linear algebra routine will call the Intel MKL linear algebra function, thus benefiting from Intel MKL optimizations for Intel-based hardware.
The IMSL Fortran Library includes hundreds of algorithms that extend mathematical coverage beyond the foundation areas of Intel MKL. Typically, however, these additional math algorithms depend on and utilize foundation math routines. These internal calls automatically select Intel MKL to leverage its performance. Thus, the extended math algorithms in the IMSL Library speed up when Intel MKL is linked.
Together, the IMSL Fortran Library and Intel MKL provide complete algorithm coverage and optimized performance.
| Functionality | IMSL Fortran Library | Intel Math Kernel Library |
| Extended Math and Statistics | ||
| Numerical Optimization | ||
| Time Series, Forecasting | ||
| Tests of Fit and Randomness | ||
| Regression and Correlation | ||
| Probability Distribution | ||
| Nonparametric Statistics | ||
| Foundation Statistics | ||
| Cluster Analysis | ||
| ANOVA, Sampling, Reliability | ||
| Sorting and searching | ||
| Nonlinear Equations | ||
| Differential Equations | ||
| Quadrature | ||
| Interpolation | ||
| Performance Foundation | ||
| Random Number Generators | ||
| Fast Fourier Transforms | ||
| Sparse Matrix Solvers | ||
| LAPACK (Dense Matrix Solvers) | ||
| BLAS (Vector/Matrix Math) | ||