NAG's entire range of numerical component libraries, compilers and software tools are implemented under the Linux operating system on various hardware alternatives.
The following are the main considerations/issues when choosing the appropriate implementation of the NAG products. If in doubt please contact us.
Chip/ Operating System/ Compiler
In general, the relevant implementation of the NAG product can be found by knowing the chip, operating system (in this case Linux) and, if applicable, the compiler used in your target environment. The chip may be say, Intel but it's important to know whether it is x86-32 (e.g. Pentium), x86-64 (e.g. Xeon EM64T) or Itanium. Even though, say, Intel and AMD chips are compatible, if available it's best to select the NAG implementation which matches your chip (see below).
If a compiler is listed as part of the implementation information then it will normally be essential that you have a compatible compiler.
The operating environment for each product, described in the relevant Installer's Note, is often written in terms of the Linux distribution available on the implementation machine (e.g. Red Hat 9, SuSE 9.1,Oracle Enterprise Linux 5.3) but in general the Linux vendor/version is not important.
In the past, the compatibility of the implementation has been dependent upon the version of glibc on the machine on which you wish to use the NAG software. (An incompatibility was introduced when glibc was updated from version 2.2 to version 2.3.) As this library is fundamental to the operation of NAG software products under Linux, variant implementations were sometimes provided for each version of glibc. This is unlikely to be an issue now as the vast majority of Linux installations now use glibc version 2.3. However, if you need to check the version of glibc in use on your system please do the following:
/lib/libc.so.6 (the first line of the output details the library in use).
Intel MKL versus AMD ACML on x86 hardware
On x86 compatible hardware, the underlying chip may originate from either Intel or AMD. In general, users of these systems need not know or worry about the chipset actually used but in the case of our numerical components this is important. NAG components are renowned for their performance and therefore, where possible, use vendor high performance math libraries to provide standard functions (e.g. BLAS and LAPACK). These vendor libraries are written to exploit the unique characteristics of the specific chipset and hence provide optimum performance. Intel, via MKL, and AMD, via ACML, have both developed high performance libraries to give optimum performance when used on their own chips. To meet the exacting requirements of our users NAG has produced implementations of some of its numerical component libraries that will utilize these vendor libraries. The implementations can be used interchangeably, but runtime performance may well be sacrificed if there is a mismatch between the underlying math library and the chipset in the machine. Hence, if there is a choice, choose the NAG product using MKL on Intel chips and ACML on AMD chips.
Product Availability for Linux
The list of products is available here. The 'comment' field indicates the compiler used for the implementation where relevant.
For general information on NAG's products available for the Linux environment please use the following links:
Read more about how you can use NAG's quality software in the Linux environment by selecting any of the links in the top right box of this page, or contact us to discuss your needs.