NLL6I302BL - Licence Managed
NAG Library, Mark 30.2
NLL6I302BL - Licence Managed
Linux, 64-bit, Intel Classic C/C++ or Intel Classic Fortran
Installer's Note
NLL6I302BL - Licence Managed
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
NAG Terms and Conditions.
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 systems and compatible (including AMD64)
operating system: Linux 4.11.12-100.fc24.x86_64
(GNU C Library (libc) 2.23) and compatible
[Note: requires libstdc++ from GCC 5.1.0 or later]
Fortran compiler: Intel Classic Fortran Compiler
version 2021.4.0 and compatible
C compiler: Intel Classic C Compiler
version 2021.4.0 and compatible
vendor Library: Intel MKL version 2021.0.4 and compatible
NAG dco/c++: version >= 3.6
The NAG AD Library is included in this implementation.
The definitions and sizes of the C
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) Gold 6148
operating system: Linux 4.11.12-100.fc24.x86_64
(Fedora 24 (Workstation Edition))
with GNU C Library (libc) 2.23 and
GNU C++ Library (libstdc++) 3.4.22
Fortran compiler: Intel Classic Fortran Compiler
version 2021.4.0 Build 20210910_000000
C compiler: Intel Classic C Compiler
version 2021.4.0 Build 20210910_000000
vendor Library: Intel MKL version 2021.0.4
NAG dco/c++: version 4.3.1
Fortran compiler options: -O3 -axCORE-AVX2,AVX -no-fma -fp-model precise
-fp-speculation=safe -auto -fPIC -threads -fexceptions
(with -i8 for 64-bit integers)
C compiler options: -O3 -axCORE-AVX2,AVX -no-fma -fp-model precise
-fp-speculation=safe -fPIC -m64 -fexceptions
This implementation includes libraries (and associated files) for use with
both 32-bit integers (denoted by lp64) and 64-bit
integers (denoted by ilp64).
The flags listed above were chosen to be conservative in terms of performance optimization to prioritize consistency of numerical results. However key computational kernels in the NAG Library have been compiled and tested with higher levels of optimization.
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 directory and file organization of the implementation
materials after installation.
nll6i302bl ─┬─ doc ─────────┬─ in.html (Installer's Note - this document)
│ ├─ un.html (Users' Note)
| ├─ styles ─ * (CSS and JavaScript support files)
│ ├─ nag_tsandcs.txt (NAG Software Licence Ts & Cs)
│ └─ alt_c_interfaces.html (Advice on calling FL interface from C/C++)
│
├─ lp64 ────────┐ (Files for 32-bit integer libraries)
│ │
│ ├─ lib ─────┬─ libnag_nag.a (static self-contained library
│ │ │ including NAG BLAS/LAPACK)
│ │ ├─ libnag_nag.so.30.2 (shareable self-contained library
│ │ │ including NAG BLAS/LAPACK)
│ │ ├─ libnag_nag.so (symbolic link pointing at
│ │ │ libnag_nag.so.30.2)
│ │ ├─ libnag_mkl.a (static library requiring
│ │ │ MKL BLAS/LAPACK)
│ │ ├─ libnag_mkl.so.30.2 (shareable library requiring
│ │ │ MKL BLAS/LAPACK)
│ │ ├─ libnag_mkl.so (symbolic link pointing at
│ │ │ libnag_mkl.so.30.2)
│ │ ├─ libnag_nag_ad.a (static companion AD library)
│ │ ├─ libnag_nag_ad.so.30.2 (shareable companion AD library)
│ │ ├─ libnag_nag_ad.so (symbolic link pointing at
│ │ │ libnag_nag_ad.so.30.2)
│ │ ├─ libnag_mkl_ad.a (static companion AD library)
│ │ ├─ libnag_mkl_ad.so.30.2 (shareable companion AD library)
│ │ ├─ libnag_mkl_ad.so (symbolic link pointing at
│ │ │ libnag_mkl_ad.so.30.2)
│ │ └─ libnag_dcof.a (dcof interface layer,
│ │ static library only)
│ │
│ │
│ ├─ include ─┬─ *.h (C and C++ include files for NAG Library
│ │ └─ *.hpp routines)
│ │
│ └─ nag_interface_blocks ─ * (Fortran interface blocks for
│ NAG Library routines)
│
├─ ilp64 ───────┐ (Files for 64-bit integer libraries)
│ │
│ ├─ lib ─────┬─ libnag_nag.a (static self-contained library
│ │ │ including NAG BLAS/LAPACK)
│ │ ├─ libnag_nag.so.30.2 (shareable self-contained library
│ │ │ including NAG BLAS/LAPACK)
│ │ ├─ libnag_nag.so (symbolic link pointing at
│ │ │ libnag_nag.so.30.2)
│ │ ├─ libnag_mkl.a (static library requiring
│ │ │ MKL BLAS/LAPACK)
│ │ ├─ libnag_mkl.so.30.2 (shareable library requiring
│ │ │ MKL BLAS/LAPACK)
│ │ ├─ libnag_mkl.so (symbolic link pointing at
│ │ │ libnag_mkl.so.30.2)
│ │ ├─ libnag_nag_ad.a (static companion AD library)
│ │ ├─ libnag_nag_ad.so.30.2 (shareable companion AD library)
│ │ ├─ libnag_nag_ad.so (symbolic link pointing at
│ │ │ libnag_nag_ad.so.30.2)
│ │ ├─ libnag_mkl_ad.a (static companion AD library)
│ │ ├─ libnag_mkl_ad.so.30.2 (shareable companion AD library)
│ │ ├─ libnag_mkl_ad.so (symbolic link pointing at
│ │ │ libnag_mkl_ad.so.30.2)
│ │ └─ libnag_dcof.a (dcof interface layer,
│ │ static library only)
│ │
│ │
│ ├─ include ─┬─ *.h (C and C++ include files for NAG Library
│ │ └─ *.hpp routines)
│ │
│ └─ nag_interface_blocks ─ * (Fortran interface blocks for
│ NAG Library routines)
│
├─ c_examples ──┬─ source ──── *.c (Example programs for CL interface routines)
│ │
│ ├─ data ────┬─ *.d
│ │ └─ *.opt
│ │
│ └─ results ─── *.r
│
├─ f_examples ──┬─ source ──── *.f90 (Example programs for FL interface routines)
│ │
│ ├─ data ────┬─ *.d
│ │ └─ *.opt
│ │
│ └─ results ─── *.r
│
├─ ad_examples ─┬─ source ──┬─ *.cpp (Example programs for AD routines)
│ │ └─ *.f90
│ │
│ ├─ data ────┬─ *.d
│ │ └─ *.opt
│ │
│ └─ results ─── *.r
│
├─ c_headers ───┬─ c_examples ─── *.c (Example programs (subset)
│ │ for alternative C interface
│ ├─ cpp_examples ─ *.cpp to FL interface routines)
│ │
│ └─ data ───────── *.d
│
├─ scripts ─────┬─ nag_example (script to compile and run
│ │ NAG example programs)
│ │
│ ├─ nagvars.{sh,csh} (scripts to set environment variables
│ │ to location of NAG libraries, etc.)
│ │
│ └─ nag_recompile_mods (script to recompile
│ Fortran interface blocks)
│
├─ mkl ─────────── * (Intel Math Kernel Library)
│
├─ rtl ─────────── * (Intel Compiler run-time libraries)
│
└─ license ─────┬─ bin ─ * (directories of licence management
│ binaries for supported platforms)
├─ README.txt
│
└─ doc ─ * (licence management documentation)
Only for Fortran users:
libnag_dcof.a contains 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 from Fortran. When using the NAG
AD Library from C++ with dco/c++, this additional library is not
required.
The following shows the organization of the Library Manual
materials.
nagdoc_30.2 ─┬─ 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
Library Software Installation
Assuming you have downloaded the Library materials from our website as a
tar gzip file
(
nll6i302bl.tgz),
cd to the directory where
the file is located and extract the installation materials using the
following command:
tar xvzf nll6i302bl.tgz
This will extract the files
install.sh,
nl30.tgz,
nag_tsandcs.txt,
in.html and
un.html
and the directory
styles.
You can then install the materials from the download directory
by executing the shell script
install.sh in a
command window as:
./install.sh
By default, the materials will be installed under
$HOME/NAG/, or if the directory
$HOME does not exist,
under
/opt/NAG/. However, you may choose a different location.
In this document we refer to the directory
$HOME/NAG/nll6i302bl
or
/opt/NAG/nll6i302bl
as
[INSTALL_DIR].
This convention is also used
in the
Users' Note.
4.1.1
Silent Installation
It is also possible to run
install.sh
in unattended or silent modes. The installer takes command
line switches for this purpose:
- -silent
means perform a silent installation. In this case, the -accept and
-installdir switches must also be used.
- -accept
means that you accept the NAG licence agreement
- -installdir=DIR
means that the Library will be installed under directory DIR
4.1.2
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.
To request a licence key, run the program khostid
located in the
license/bin/linux_x64
subdirectory of the software distribution. This utility must be run
from a command prompt. Return the information that it displays,
together with the product code (in this case NLL6I302BL),
by email to NAG.
Alternatively, direct the output from this utility to a file and
send both the file and the product code to NAG.
A short term (demonstration or trial) licence key contains one or more
lines like the following:
<PRODUCT_CODE> TRIAL <EXPIRY_DATE> "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 easiest way
to install it is to store the text in a file,
$HOME/nag.key
or
/opt/NAG/nag.key
or
/usr/local/NAG/nag.key
The licence software in this implementation automatically looks for these
particular
files and reads the first one found, so no further action is necessary.
Alternatively, store the licence in a file with a name and location of
your choice, say,
[INSTALL_DIR]/licence.lic
The location of the licence file, if it is not one of the default
places listed above, must be
made known to the NAG application by setting the environment variable
NAG_KUSARI_FILE to the full pathname of the file before the
application is invoked.
For example, in the C shell, type:
setenv NAG_KUSARI_FILE [INSTALL_DIR]/licence.lic
or in the Bourne shell, type:
NAG_KUSARI_FILE=[INSTALL_DIR]/licence.lic
export NAG_KUSARI_FILE
Further details about Kusari and how it may be configured to
suit your local circumstances
(e.g. how to install the licence key on a server)
are included in the Kusari Licence
Management documentation in the
license/doc/ subdirectory of the software distribution.
See also the
Kusari Frequently Asked Questions.
4.1.2.1
Testing the licence
The a00acc or a00acf example program may be used to check the licence
is properly installed.
4.1.2.2
Troubleshooting licence problems
The klcheck program can be used to check whether a valid licence file is
available. From a terminal window with the environment from
which you will be calling the NAG Library, run
[INSTALL_DIR]/license/bin/linux_x64/klcheck NLL6I30XB
This will check for a licence in various special locations, as well as
in any files or from any licence servers specified in
the
NAG_KUSARI_FILE environment variable,
and print some diagnostic information. If a valid licence is found,
it will say where it has found the licence. If a valid licence is not
found, an error message will be printed.
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
Section 3.1 of the Users' Note; a suitable sample would be
d01rkf, e04uca, f07adf, d01rjc, f07adc and g05sjc.
The installation can also be tested using the script
nag_example (see
Section 3.3 of the Users' Note).
You may also wish to check the AD routines; a suitable example would be s01ba_a1w_hcpp.
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.
Please see
for worldwide contact details for the Numerical Algorithms Group.
NLL6I302BL - Licence Managed