NAG Library, Mark 27

NLW6I27DEL - Licence Managed

Microsoft Windows x64, 64-bit, Intel C/C++ or Microsoft C/C++ or Intel Fortran, 32-bit integers

Installer's Note


1. Introduction

This document provides implementation-specific information relating to the installation of the NAG Library specified in the title.

By installing this software you agree to NAG's Terms and Conditions. Please note that these Terms and Conditions are subject to change without notice. The NAG Software Licence Terms and Conditions and details of revisions are available from

2. Implementation Provided

2.1. Applicability

This implementation is a compiled, tested, ready-to-use version of the NAG Library that is considered suitable for operation on the computer systems detailed below:

hardware:          Intel 64-bit systems and compatible (including AMD)
operating system:  Microsoft Windows
Fortran compiler:  Intel Fortran Compiler
version and compatible C compiler: Intel C Compiler
version and compatible Microsoft 64-bit C/C++ Compiler Version 19.00 or compatible vendor library: Intel MKL version 2019.0.2 and compatible NAG dco/c++: version 3.3.0

The NAG AD Library is included in this implementation.

The definitions and sizes of the Integer and Pointer types used in this implementation are shown in Section 3.5 of the Users' Note.

2.2. Derivation and Additional Test Platforms

This implementation was produced at NAG Ltd., Oxford on the computing system detailed below:

hardware:         Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz
operating system: Windows Server 2019 Standard
Fortran compiler: Intel(R) Fortran Compiler Version 20190117
C compiler:       Intel(R) C++ Compiler Version 20190117
                  Microsoft Visual Studio 2015 tools
vendor library:   Intel MKL version 2019.0.2
compiler options: -O3 -QaxCORE-AVX2,AVX -Qfma- -fp:precise
NAG dco/c++:      version 3.3.0

For details of any other systems on which this implementation has been tested, please see the Supplementary Information page on our website.

2.3. Supplementary Information

Please check the following URL:

for details of any new information related to the applicability or usage of this implementation. Details of any other systems on which it has been tested may also be found on this page.

3. Distribution

The software is available to download from any of the NAG websites (see Section 6 for contact details).

3.1. Contents

The following shows the folder and file organization of the implementation materials after installation.
                    |- in.html  (Installer's Note - this document)
            |- doc -|- un.html  (Users' Note)
            |       |- nag_tsandcs.*  (NAG Software Licence Ts & Cs)
            |       |- alt_c_interfaces.html (Advice on calling FL interface from C and C++)
            |         |- nag_example_*.bat  (batch files to compile and run
            |         |                       NAG example programs)
            |- batch -|
            |         |- envvars.bat  (batch file to set environment
            |                          variables for the NAG Library)
            |       |- NLW6I27DE_nag.dll  (DLL including NAG BLAS/LAPACK)
            |       |
            |       |- NLW6I27DE_27.x.x_nag.dll  (a renamed copy of the above DLL
            |       |                             including full version number)
            |       |
            |- bin -|- NLW6I27DE_mkl.dll  (DLL requiring MKL BLAS/LAPACK)
            |       |
            |       |- NLW6I27DE_27.x.x_mkl.dll  (a renamed copy of the above DLL
            |       |                             including full version number)
            |       |
            |       |- *.pdb   (debugging symbols for the above libraries)
            |       |
            |       |- (plus other support files)
nlw6i27del -|
            |       |- NLW6I27DE_nag.lib  (DLL import library
            |       |                      including NAG BLAS/LAPACK)
            |       |
            |       |- NLW6I27DE_27.x.x_nag.lib  (a renamed copy of the above
            |       |                      library including full version number)
            |       |
            |       |- NLW6I27DE_mkl.lib  (DLL import library
            |       |                      requiring MKL BLAS/LAPACK)
            |       |
            |       |- NLW6I27DE_27.x.x_mkl.lib  (a renamed copy of the above
            |       |                      library including full version number)
            |       |
            |- lib -|- nag_nag_MT.lib  (static library including
            |       |                    NAG BLAS/LAPACK compiled with /MT)
            |       |
            |       |- nag_mkl_MT.lib  (static library requiring
            |       |                    MKL BLAS/LAPACK compiled with /MT)
            |       |
            |       |- nag_nag_MD.lib  (static library including
            |       |                    NAG BLAS/LAPACK compiled with /MD)
            |       |
            |       |- nag_mkl_MD.lib  (static library requiring
            |       |                    MKL BLAS/LAPACK compiled with /MD)
            |       |
            |       |- nag_nag_ad_MT.lib  (static companion AD library
            |       |                       compiled with /MT)
            |       |
            |       |- nag_nag_ad_MD.lib  (static companion AD library
            |       |                       compiled with /MD)
            |       |
            |       |- libnag_dcof_MT.lib (dcof interface layer, compiled with /MT)
            |       |
            |       |- libnag_dcof_MD.lib (dcof interface layer, compiled with /MD)
            |- include -|- *.h   (C and C++ include files for NAG Library
            |           |- *.hpp  routines)
            |- nag_interface_blocks -|- *  (interface blocks for Intel Fortran compiler
            |                               for NAG Library and NAG AD Library routines)
            |- nag_interface_blocks_nagfor -|- *  (interface blocks for NAG Fortran compiler
            |                                      for NAG Library and NAG AD Library routines)
            |              |- source --|- *.c
            |              |
            |- c_examples -|- data ----|- *.d
            |              |           |- *.opt
            |              |
            |              |- results -|- *.r
            |              |- source --|- *.f90
            |              |
            |- f_examples -|- data ----|- *.d
            |              |           |- *.opt
            |              |
            |              |- results -|- *.r
            |               |- source --|- *.c
            |               |           |- *.cpp
            |               |           |- *.f90
            |               |
            |- ad_examples -|- data ----|- *.d
            |               |
            |               |- results -|- *.r
            |- diagnostics -|- NAG_Library_DLL_info.exe  (diagnostics program)
            |               |- NAG_Library_DLL_info_NLW6I27DEL.c  (source of
            |                                                     the above)
            |             |- c_examples ---|- *.c   (Example programs (subset)
            |             |                          for alternative C interface
            |- c_headers -|- cpp_examples -|- *.cpp  to FL routines)
            |             |
            |             |- data ---------|- *.d
            |- mkl -|- *  (Intel Math Kernel Library)
            |- rtl -|- *  (Intel compiler run-time libraries)
            |           |- bin -|- *  (directories of licence management
            |           |              binaries for supported platforms)
            |- license -|- README.txt
                        |- doc -|- *  (licence management documentation)

libnag_dcof_MT.lib and libnag_dcof_MD.lib each contain a dcof interface layer through which calls are made to contained components of NAG dco/c++, a separate AD software product for computing sensitivities of C++ codes. This has been provided as a separate library to accommodate using the NAG AD Library with different versions of dco/c++. Different versions of the dcof library can be provided for such cases. Please contact NAG if you require this (see Section 6 for contact details).

The following shows the folder and file organization of the Library Manual materials after installation.

nagdoc_27   -|- index.html
             |- nlhtml   Generic Documentation of the NAG Library
             |- flhtml   Documentation of FL Interfaces
             |- clhtml   Documentation of CL Interfaces
             |- adhtml   Documentation of AD Library
             |- figures  Figures
             |- styles   CSS and JavaScript used by the documentation
             |- examples -|- baseresults HTML display of example results
                          |- source      HTML display of example sources
                          |- data        HTML display of example data files

Details of the software are given in the Users' Note (un.html).

4. Installation

4.1. Installation of Library Software and Manual

4.1.1. Library Installation

Assuming you have downloaded the Library materials from our website, run the self-extracting executable (nlw6i27del_setup.exe) to start the Library installation. The Library Manual materials are available as a separate download.

By default, the Library materials are installed in

  C:\Program Files\NAG\NL27\nlw6i27del
or the equivalent for your locale.

The installation procedure will also create several shortcuts, which are described in this document or in the Users' Note. The default location of these shortcuts is under NAG Library (NLW6I27DEL) in the Start Menu or via All apps from the Start screen (depending on your version of Windows).

The environment variable NAG_NLW6I27DEL is needed by the batch files nag_example_*.bat (see Section 3.3 of the Users' Note). This is set in the registry as part of the installation procedure. Optionally, the PATH, LIB and INCLUDE environment variables may also be updated during installation.

This software is provided with an uninstallation facility via the Windows Control Panel.

4.1.2. Library Manual Installation

The Library Manual may be installed alongside the Library software, or it may be installed on a different workstation or server, or viewed from the NAG website (

Assuming you have downloaded the Library Manual materials from our website, run the self-extracting executable (setup_mk27_manual.exe) to start the Library Manual installation.

By default, the Library Manual materials are installed in

  C:\Program Files\NAG\Mark 27 Manual\nagdoc_27
or the equivalent for your locale.

The installation will also create a shortcut to the main index file for the manual. The default location of this shortcut is in the Start Menu or All apps list under NAG Mark 27 Manual. See Section 5 of the Users' Note for details.

4.1.3. Silent Installation

This product may be installed in silent (unattended) mode by running
  nlw6i27del_setup.exe /silent
  nlw6i27del_setup.exe /verysilent
from a Command Prompt. With the first version, the user sees a progress bar on the screen as the installation occurs, whereas with the second, nothing is displayed. The files will be installed to the default location and the PATH, LIB and INCLUDE environment variables will be modified. The default installation location may be overridden by using the /dir switch, e.g. /dir="C:\my folder". To prevent the environment variables being updated, the /type=noenv option may be used.

Similarly, the /silent or /verysilent switches may also be applied to the Library Manual installer setup_mk27_manual.exe.

4.1.4. Licence Management

The use of this product is controlled by the Kusari licence management system. This release of the Library uses version 2.2-88 of Kusari.

In order to enable the software, NAG will issue you with a licence key as follows. The licence key is contained in a text file consisting of details of the software that will be enabled. For evaluation purposes a trial licence may be used. Before obtaining a full licence you need to know the Kusari hostid of the system on which you intend to use this product. How to do this is described below.

The easiest way to request a licence key is to use the Kusari Installer GUI described in the next section. Once you have a key, the same GUI can be used to install it.

The information below covers the most common requirements. For more complex licensing situations, please see the Kusari documentation (the files k-using-win.pdf and k-install-win.pdf in the nlw6i27del\license\doc folder). See also the Kusari FAQ: The Kusari Installer licence key request and key installation program

The recommended way to request a licence key is to use the Kusari Installer GUI program provided. This will help you to build a standard message requesting either a trial key or a full key which can be pasted into an email to the NAG Technical Support Service. This message will include the Kusari hostid.

To request a licence key, run the Kusari Installer program, which may be accessed at the end of the installation procedure or via the Start Menu or All apps shortcut NAG NLW6I27DEL Licence, Request or Install. Click on the Request New Licence button to bring up the New Licence Request form. Fill in your details and click on Generate Licence Request, then paste the generated information into your email client and send it to the NAG address given at the top of the generated information.

The NAG support team will send you the Kusari licence key by email.

A short term (demonstration or trial) licence key contains one or more lines like the following:

  NLW6I27DE TRIAL 2019/11/12 "EMnxidA3oeoj0F1Yvi5ibxPjB7"
Specifically, it has a line containing the word TRIAL. Longer term licence keys must be locked to a specific computer, i.e. they will enable the software on one computer only. These licence keys typically include the word NODE or FULL instead of the word TRIAL above and may contain extra fields.

Once you have obtained one of the above licence keys, the Kusari Installer program may be used to install the key in the Windows Registry. Paste the key into the edit box on the main Kusari Installer dialog and then click on the Install Licence Key button to install it. Command line licence key request

If for any reason it is impractical to use the GUI, the command line program khostid may be run instead. The output of this command should be sent to the NAG Technical Support Service with your details, your organisation details and your NAG customer reference number (if known).

The khostid command may be found in the nlw6i27del\bin folder. Command line installation of the licence key in the registry

If not using the GUI, the klreg program may be executed from a Command Prompt to install a key in the registry. This program may be found in the nlw6i27del\bin folder. First put the licence key in a file, say licence.dat. If you have administrator privileges you can install the key for all users,
  klreg NLW6I27DE licence.dat
Otherwise the key can be installed for the current user,
  klreg /current_user NLW6I27DE licence.dat Installing the licence key in a file

You are recommended to install the licence key in the registry as described above. If this is not suitable an alternative method is to put the licence key into a file accessible from the machine for which the software is licensed and set the environment variable NAG_KUSARI_FILE to the full pathname of the licence file.

The environment variable may be set from the Control Panel. USB key licences

Simply insert the USB key in any spare USB socket on the machine on which you wish to run this product. Testing the licence

The a00acc or a00acf example program may be used to check the licence is properly installed or the diagnostic program NAG_Library_DLL_info.exe can be used to check both accessibility and licensing (see Section 4.2.2).

4.2. Further Information

4.2.1. Checking the Installation

Access to the Library materials can be checked by running a few example programs following the advice given in the Users' Note, Section 3.1; a suitable sample would be d01auf, e04uca, f07adf, d01sjc, f07adc and g05sjc. The installation can also be tested using the batch files nag_example_*.bat (see Users' Note, Section 3.3). You may also wish to check the AD routines; a suitable example would be s01ba_a1w_hcpp.

4.2.2. Accessibility Check

The diagnostic program NAG_Library_DLL_info.exe, which by default is located in C:\Program Files\NAG\NL27\nlw6i27del\diagnostics, may be used to check whether the DLLs NLW6I27DE_nag.dll and NLW6I27DE_mkl.dll are accessible from the current environment. If this program is started from Windows Explorer or from the Check NAG NLW6I27DEL DLL Accessibility shortcut via the Start Menu or All apps, the DLLs will be found if the global PATH environment variable has been set to include their location. If it is run from a Command Prompt window, then the environment local to that window will prevail. (See Section 3.1.1 of the Users' Note for more information on environment variables.)

For each of the DLLs that it loads successfully, NAG_Library_DLL_info.exe will print the location of the DLL, and the implementation details as provided by calls to the routines a00aac and a00aaf. It also calls a00acc to check the availability of a valid licence key and reports if this is not found; "Status OK" indicates that a valid key was either found or not required.

Note: the diagnostics program executable may not be compatible with all versions of Microsoft Windows (in particular, Microsoft Windows XP), and you may get a "not a valid application" error when you try to run it. In that case, you may simply recompile the diagnostics program yourself from the source code provided in the same directory as the executable, using either a Microsoft or an Intel C compiler.

5. Support from NAG

Please see

for information about the NAG Technical Support Service, including details of the NAG Technical Support Service contact points. We would also be delighted to receive your feedback on NAG's products and services.

6. Contact Addresses

Please see

for worldwide contact details for the Numerical Algorithms Group.