The Numerical Algorithm Group (NAG) Library
This article introduces the Fortran and C library of software under the Numerical Algorithm Group (NAG) license. NAG Library is a collection of robust, documented, tested and maintained numerical algorithms.
Accessing the NAG Library
Requesting access
If you wish to use the NAG Library on JASMIN you will need to request access via the JASMIN Accounts Portal at:
https://accounts.jasmin.ac.uk/services/additional_services/nerctools/
This will give your JASMIN user account access to the "nerctools" Unix Group that is used to limit access to NAG.
Loading the NAG Library for use on JASMIN
The NAG library is made available via module
command which is only available once you are on the scientific analysis servers and LOTUS cluster on JASMIN. In addition to loading a module for the library, you will usually need to load a module for the compiler you are using. For example:
$ module load contrib/nag/25 $ module list Currently Loaded Modulefiles: 1) intel/fce/15.0.090 2) contrib/nag/25
The NAG library is loaded as well as the Intel Fortran compiler. Now you can compile your code and link to the NAG library, for example:
$ ifort your_code.f90 -lnag_nag -o your_code.exec
How to find a NAG library routine
Please search the NAG documentation when looking for specific routines:
https://www.nag.co.uk/numeric/fl/nagdoc_fl25/html/indexes/kwic.html
How to use the NAG library
The following shows the directory and file organisation of the materials.
/apps/contrib/nag/fll6i25dcl/ |- in.html (Installer's Note - this document) |- doc -|- un.html (Users' Note) | |- lic_agr.txt (license agreement) | | |- libnag_nag.a (static self-contained library | | including NAG BLAS/LAPACK) | |- libnag_nag.so.25 (shareable self-contained library | | including NAG BLAS/LAPACK) | |- libnag_nag.so (symbolic link pointing at |- lib -| libnag_nag.so.26) | |- libnag_mkl.a (static library requiring | | MKL BLAS/LAPACK) | |- libnag_mkl.so.25 (shareable library requiring | | MKL BLAS/LAPACK) | |- libnag_mkl.so (symbolic link pointing at | libnag_mkl.so.26) fll6i25dcl -| |- nag_interface_blocks -|- * (interface blocks for Intel compiler) | | |- source --|- ??????e.f90 | | |- examples -|- data ----|- ??????e.d | | |- ??????e.opt | | | |- results -|- ??????e.r | | |- nag_example* (scripts to compile and run |- scripts -| NAG example programs) | | | |- nag_recompile_mods (script to recompile | interface blocks) | |- c_headers -|- * (C/C++ header file and information) | |- mkl_intel64_11.2.0 -|- * (Intel Math Kernel Library) | |- rtl -|- * (Intel compiler run-time libraries) | | |- bin -|- * (directories of license management | | binaries for supported platforms) |- license -|- README.txt | |- doc -|- * (license management documentation)
Further information
See the full NAG library manual at:
https://www.nag.co.uk/numeric/fl/nagdoc_fl26/html/frontmatter/manconts.html