NAG Library for SMP & Multicore

Unrivalled functionality, increased speed and heightened performance for shared memory parallelism
Unrivalled Reliability
Algorithms that work for your applications. Flexible to the core.

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.

Accelerating development of your algorithm reliant application

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.

Optimization, Sparse Linear Algebra, Nearest Correlation Matrix, Changepoint Analysis, Kalman Filter, Quantiles and More – it’s all in there.

Specialized multicore functionality

  • Dense and Sparse Linear Algebra
  • Fast fourier transforms (FFTs)
  • Random Number Generators
  • Quadrature
  • Partial Differential Equations
  • Interpolation
  • Curve and Surface Fitting
  • Correlation and Regression Analysis
  • Multivariate Methods
  • Time Series Analysis
  • Financial Option Pricing
  • Dense linear algebra (LAPACK)
  • Sparse iterative solvers
  • Sparse direct solvers (based on SuperLU)
  • Sparse iterative eigensolvers (based on ARPACK)
Speed up time to market / application development
Deliver competitive advantage
Thread Safety
Growth strategy
Available for all these languages and environments
Product Details

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.

The Library is organized into Chapters - each being documented with its own Introduction and Contents list followed by a comprehensive document for each function detailing its purpose, description, list of parameters and possible error exits. Example programs and results are also supplied. All examples are available on-line to facilitate their use as templates for the users' calling programs.

The NAG Library for SMP & Multicore Manual

The complete NAG Library for SMP & Multicore Manual, Mark 24 can be viewed on-line in the following formats:

  • HTML: The full manual available as HTML (using HTML5 features such as MathML and SVG in suitable browsers);
  • PDF: the same manual as above, consisting of many PDF files, may be browsed using PDF bookmarks or via the HTML table of contents pages;
  • Single file PDF: the manual as a single PDF file;
  • ZIP file: The archive as a ZIP file (152 MB);
  • Windows html help: Windows html help version as a single file;
    (Note: due to windows security restrictions the help file may not be read directly from the internet. Save a copy to your local disk, and then read the local copy. Also depending on the Windows version installed you may need to unblock files copied from the internet before they may be used (right click on the help file and select properties then select the "unblock" button).

Advice on viewing and navigating the first three formats can be found in the Online Documentation help document. You are strongly advised to read this document if you wish to try the XHTML+MathML format.

The Library is organized into Chapters - each being documented with its own Introduction and Contents list followed by a comprehensive document for each function detailing its purpose, description, list of parameters and possible error exits. Example programs and results are also supplied. All examples are available on-line to facilitate their use as templates for the users' calling programs.

The NAG SMP Library Manual, Mark 23 and prior

Previous releases of the NAG SMP Library Manual are still available: Mark 23 and Mark 22.

Installer's Notes and Users' Notes

Support documentation for the installation and use of each implementation of the NAG Library for SMP & Multicore is available.

Replacing NAG Fortran Library routines with their multicore equivalents

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.


Intel Fortran 32 bit FSW3224DCL
Intel Fortran 64 bit FSW6I24DCL
Intel Fortran 64 bit (ILP64) FSW6I24DDL

Linux (x86)

GNU Fortran 64 bit FSL6A23DFL
Intel Fortran 64 bit FSL6I24DCL
Intel Fortran 64 bit (ILP64) FSL6I24DDL
PGI f90 64 bit FSL6A21DPL

Linux (Fujitsu HX600)

Fujitsu Fortran 64 bit FSFL622DAL

Solaris (x86)

Sun f95 64 bit FSSA621DCL

Solaris (SPARC)

Sun f95 32 bit FSSOL21DCL
Sun f95 64 bit FSSO621DCL

Fujitsu (SPARC)

Fujitsu Fortran 64 bit FSFSV22DCL


IBM Power7 xlf 64 bit FSAI623DAL
IBM Power6 xlf 64 bit FSAI622DAL

Services and Support

Outstanding service and support from our expert team
First line technical support when you need it

NAG’s Technical Support Service is provided by a team of specialists in numerical and statistical software development, in fact the NAG Library and Compiler development team share responsibility for the support of our software. We strongly believe that in order to effectively support complex software the technicians must be both experienced and understand the intricacies of the computational techniques. This conviction is reflected in the composition of the team most of whom are qualified to PhD level and have combined experience of software support in excess of 50 years.

NAG accuracy is quality assured

NAG provides accurate, documented, numerical software and services to help you make sure that your results are accurate. The validity of each NAG routine is tested for each platform that it is enabled for. Only when an implementation satisfies our stringent accuracy standards is it released. As a result, you can rely on the proven accuracy and reliability of NAG to give you the right answers. NAG is an ISO 9001 certified organization.

Reap the benefits of NAG expertise

The numerical codes that underpin the results from your software are not future proof. While the mathematics does not change, the codes have a limited lifespan because of new hardware structures, mathematical innovation and changes in application needs. NAG Numerical Services help you and your organization find and implement the optimum numerical computation solutions. NAG works with your team to impart skills and techniques that will help solve your numerical software problems.

Expert teaching and instruction from numerical experts

Your users, developers and managers can all benefit from NAG's highly regarded training courses. All of the training courses shown below have been delivered successfully either from NAG offices or at client premises. Training courses can be tailored to suit your particular requirements and be targeted to novice, intermediate or experienced levels. Specialized mentoring and development programs are also available for HPC managers.

Working in collaboration with industry and academia

NAG was founded on collaboration as an inter-University collaborative venture combining the talents of mathematicians and computer scientists. NAG has continued to collaborate with individuals and organizations over the past four decades and today longstanding and new partners are delivering tangible benefits to users and students all over the world.