NAG Fortran SMP Library, Release 2
A numerical and statistical library designed to make optimal use of the processing power and shared
memory parallelism of the Symmetric Multi-Processor (SMP) systems.
NAG Fortran SMP Library has a large collection (over 1200) of numerical and statistical routines
such as FFT, optimizations, eigen values and eigen vectors, PDE solvers, curve and surface fittings,
time series analysis, ANOVA, principle component analysis, and cluster analysis. The library can
be called from Fortran77, Fortran 90, Fortran 95, as well as C and C++.
NAG Fortran SMP Library is designed to minimize the cache miss to achieve good performance on
the Symmetric Multi-Processor systems. A proportion of the routines within the NAG SMP Library
has been specially developed and tuned to provide the utmost performance on SMP platforms. These
tuned routines deliver levels of performance and scalability superior to many other products
[Compatibility to the NAG Fortran Library (serial)]
The NAG SMP Library is based on, and includes, the full functionality of the NAG Fortran Library
so the arguments list and routines names are identical. This provides an easy upgrade path because
the same code can call a routine that performs the same function, in either the Fortran Library or
the SMP Library. An application that references a NAG Library routine can therefore take
advantage of the performance improvement simply by recompiling and linking your code on an SMP
NAG Fortran SMP Library contains optimized version of the Linear Algebra Package (LAPACK).
49 routines from LAPACK are optimized for SMP systems and give high performance.
[Tuned and Enhanced routines]
Of all 1200 routines provided, over 230 routines are specially tuned for SMP systems.
[ Availability by host]
% xlf_r yourprog.f -L/opt/common/nag –lnagsmp
Example programs and a shell script (nagexample) are provided. The script nagexample will copy
the example source code (and input data if required) to the current directory and compile, link, and
% cp ‐r /usr/local/huccsrc/nag . ← This will copy sample programs and the shell script to the
% cd nag/sample ←Move to a directory for an example.
% nagexample exampleName ←Execute the script
※ exampleName can be obtained from the names of the files under ”
/opt/common/nag/examples/source/”, removing the last 3 letters (e.f). ex)
c06eafe.f → c06eaf
Please note that example programs are in the fixed form. Please make sure to specify –qfixed
option when compiled with xlf90 or xlf90_r.
Fortran SMP Library Online Help:
Nihon Numerical Algorithms Group (Japanese) (http://www.nag-j.co.jp/nag_lib.htm)
Numerical Algorithms Group Ltd. (English) (http://www.nag.co.uk/numeric/FL/FSdescription.asp)
OpenMP MPI 64bit Optimized Optimized C ・ XL Fortran XL C・C++
FORTRAN90 Standard C++
NAG Fortran SMP Library
○ ○ ○ ○
(Including C Header Files)