NAG Library for SMP & Multicore
Description
Unrivalled functionality, increased speed and heightened performance for shared memory parallelism
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.
Please click here to view some performance examples.
Functionality now accessible at Mark 23
Why should I use the NAG Library for SMP & Multicore?
The NAG Library for SMP & Multicore has proven scalability, speed and correctness making it easy to exploit the power of SMP and multicore systems without requiring the user to modify their code. It contains all the powerful, robust and flexible algorithms in the NAG Library but is specifically optimized for SMP and multicore systems, so by purchasing the multicore version of the NAG Library you're future proofing your numerical software investment as your hardware grows.
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)
Other areas that benefit from tuned routines
- Ordinary differential equations (ODEs)
- Optimization
- Multivariate statistics
- Linear algebra
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.
Online Documentation
The software in the library is accompanied by first-class online documentation giving you the detailed information you need to carry out your work quickly and effectively.
Regular Updates
To ensure that we fulfil your existing and future requirements, the library is regularly updated with new and enhanced algorithms for use in evolving business areas.
Expert Support
If you subscribe to our dedicated Customer Support Service, not only will you automatically receive any update that is produced, but you will have direct access via the NAG Response Centre to our experts, who are there to assist you with your technical queries or difficulties.
Quality Assurance
The validity of each component is tested on each of the machine ranges for which the product is available. 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 the components to give you the right answers.
Documentation
Supporting Documentation
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 23 can be viewed on-line in the following formats:
- XHTML+MathML: a version of the manual using XHTML and MathML;
- PDF+HTML: a full PDF manual which can be browsed using HTML index files;
- PDF: the same manual as above, consisting of many PDF files, may be browsed using PDF bookmarks and links rather than HTML index files;
- Single file PDF: the manual as a single PDF file (39MB);
- ZIP file: The archive as a ZIP file (228MB);
- Windows html help: Windows html help version as a single file (13.3MB);
(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 22 and prior
Previous releases of the NAG SMP Library Manual are still available: Mark 22 and Mark 21.
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.
Product Availability
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.
Windows
| Intel Fortran | 32 bit | FSW3223DC |
| Intel Fortran | 64 bit | FSW6I23DC |
Linux (x86)
| GNU Fortran | 64 bit | FSL6A23DF |
| Intel Fortran | 64 bit | FSL6I23DC |
| PGI f90 | 64 bit | FSL6A21DP |
Linux (Fujitsu HX600)
| Fujitsu Fortran | 64 bit | FSFL622DA |
Solaris (x86)
| Sun f95 | 64 bit | FSSA621DC |
Solaris (SPARC)
| Sun f95 | 32 bit | FSSOL21DC |
| Sun f95 | 64 bit | FSSO621DC |
Fujitsu (SPARC)
| Fujitsu Fortran | 64 bit | FSFSV22DC |
AIX
| IBM Power7 xlf | 64 bit | FSAI623DA |
| IBM Power6 xlf | 64 bit | FSAI622DA |
Need to know more about the NAG Library for SMP and Multicore? Click on one of the following links or contact us to discuss your needs.
- Library contents
- What's new at Mark 23
- New functionality - Mini Articles
- Software engineering for multicore & HPC
- HPC and multicore Software Consulting
- Client List
- Which routine should I use?
- Technical Hints & Tips
- Technical Reports
- Thread Safety
- Using the NAG Library for SMP & Multicore in C
- Contact Us