The NAG Library for SMP & Multicore is the largest commercial numerical algorithm library developed to harness the huge performance gains from the shared memory parallelism of Symmetric Multi-Processors (SMP) and multicore processors. Many of the algorithms, or routines, in the Library are specifically tuned to run significantly faster on multi-socket and multicore systems.
The routines in the NAG Library that benefit from SMP parallelism include problem solvers in the areas of: Dense and Sparse Linear Algebra; Fast Fourier Transforms; Random Number Generators; Quadrature; Partial Differential Equations; Interpolation; Curve and Surface Fitting; Correlation and Regression Analysis; Multivariate Methods; Time Series Analysis; Financial Option Pricing; Global Optimization and Wavelet Transforms. Click here for performance examples.
This release of the NAG Library for SMP & Multicore has identical functionality and subroutine interfaces as the latest release of the NAG Fortran Library. The NAG Library for SMP & Multicore now uses the same documentation and version numbering scheme as the NAG Fortran Library.
Previous releases of the NAG SMP Library Manual are still available: Mark 24 and Mark 23.
Support documentation for the installation and use of each implementation of the NAG Fortran Library for SMP & Multicore is available.
The NAG C Library for SMP & Multicore uses the same documentation and version numbering scheme as the NAG C Library.
The NAG Library for SMP & Multicore 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 NAG Library for SMP & Multicore. The distinction between the two is only made when the final code is linked to a library. Applications that reference a NAG Library routine can therefore take advantage of the performance improvement simply by recompiling and linking your code on a multicore system.
No specialist parallel programming knowledge is required to apply the multicore techniques to your code. The parallelism is carried out automatically and transparently in certain distinct regions within the routines.
The following table provides a simple mechanism by which you can determine the most appropriate NAG Library for SMP and Multicore implementation for your needs. The table is organized by grouping implementations firstly by operating system and secondly by compiler; you simply select the combination appropriate to the system that you use. The most important information that you can derive from this is the NAG product code which is located in the rightmost column of each record and is a 10 character string beginning FS.