NAG Fortran Library, Mark 21

FLL6A21DQL - License Managed

Linux (AMD64), PGI pgf90 version 7, Double Precision

Installer's Note



Contents


1. Introduction

This Installer's Note is essential reading for whoever is responsible for the installation of this implementation of the NAG Fortran Library. It is available together with the Users' Note (un.html) on the distribution medium.

Your attention is drawn to the terms and conditions of the Software License regarding the use of NAG software. Any request to use this software other than on the licensed computer must be referred to NAG, as should requests for information about the availability of other implementations.

2. Implementation Provided

2.1. Applicability

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

hardware:          AMD 64-bit systems and compatible (including EM64T)
operating system:  Linux 2.6.16.46-0.10-smp (glibc-2.4-31.30) and compatible
Fortran compiler:  PGI Fortran Compiler pgf90 target on x86-64 Linux
                       version 7.1-1 64-bit and compatible

2.2. Derivation

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

hardware:          AMD 64-bit systems
operating system:  Linux 2.6.16.46-0.10-smp (glibc-2.4-31.30)
Fortran compiler:  PGI Fortran Compiler pgf90 target on x86-64 Linux
                       version 7.1-1 64-bit
This implementation has also been tested on the Intel Extended Memory 64 Technology system detailed below:
hardware:          EM64T
operating system:  Linux 2.6.5-1.358 (Fedora Core release 2 (Tettnang))
                   with glibc 2.3.3-27
Fortran compiler:  same as above
Compiler flags used were
  -tp amd64 -Kieee -Miomutex -Mlarge_arrays
In addition, most source files were compiled with full optimization flags
  -fast -O4 -KPIC -Mcache_align -Mreentrant
Due to some compiler optimization problems it was necessary to compile the following code with with -O3 rather than -O4
   f01tbwn.f    f01sann.f
and the following code with -O2 rather than -fast -O4
   f01tbxn.f    f01savn.f    f04ldzn.f    f06pafn.f
This library has been tested using the Basic Linear Algebra Subprograms (BLAS) and linear algebra routines (LAPACK) provided by NAG (see the Chapter Introductions for F06, F07 and F08 in the NAG Mark 21 Library Manual, which we will refer to as the Library Manual).

The library has been also tested using AMD 64-bit systems with the AMD Core Math Library, ACML version 4.0.1. The ACML libraries are being supplied as a part of this product (see contents).

This implementation contains four pre-compiled libraries (see contents). Please note that one of the four pre-compiled libraries supplied with this product, libnag_acml.a, cannot be used with EM64T based systems as the static ACML was built to exploit AMD processors.

3. Distribution Medium

The software is ordinarily distributed in tar format on CD-ROM, it can also be downloaded from any of the NAG Web sites (see NAG Websites).

3.1. Contents

The following shows the directory/file organization of the implementation materials as they will be installed.
            |- doc -|- in.html  (Installer's Note, (this document))
            |       |- un.html  (Users' Note)
            |
            |       |- libnag_nag.a   (static self-contained library
            |       |                  including NAG BLAS/LAPACK)
            |- lib -|- libnag_nag.so  (shareable self-contained library
            |       |                  including NAG BLAS/LAPACK)
            |       |- libnag_acml.a  (static library requiring
            |       |                  ACML BLAS/LAPACK)
            |       |- libnag_acml.so (shareable library requiring
            |                          ACML BLAS/LAPACK)
fll6a21dql -|
            |- nag_interface_blocks -|- *
            | 
            |            |- source --|- ??????e.f
            |- examples -|- data ----|- ??????e.d
            |            |- results -|- ??????e.r
            |
            |- scripts -|- nag_example*
            |
            |- acml -|- * (AMD Core Math Library)
            |
            |           |- bin -|- * (directories of binaries
            |           |             for supported platforms)
            |- license -|- README.TXT
                        |
                        |- doc -|- * (End User Guide)
libnag_acml.a and libnag_acml.so do not contain the NAG version of Basic Linear Algebra Subprograms (BLAS) nor the linear algebra functions (LAPACK). Both have been tested using an AMD64 system with the BLAS/LAPACK provided by the ACML which is included in this product.

The following shows the directory/file organization of the Library Manual as they will be installed.

nagdoc_mk21 -|- examples -|- baseresults -|- ??????*.r
             |            |- source      -|- ??????*.f
             |            |- data        -|- ??????*.d
             |
             |
             |- html -|- mark21.html                (main HTML index)
             |        |
             |        |- [A00-X05] -|- *conts.html  (chapter contents)
             |        |
             |        |- frontmatter -|- *.html     (foreword & copyright)
             |        |
             |        |- genint -|- *.html  (general introductory material
             |        |                      and online help document)
             |        |
             |        |- indexes -|- gams -|- fl_gams.html  (GAMS index)
             |        |           |        |- *.html        (GAMS files)
             |        |           |
             |        |           |- kwic -|- fl_kwic.html  (KWIC index)
             |        |                    |- *.html        (KWIC files)
             |        |
             |        |- styles -|- libdoc.css      (main CSS stylesheet)
             |
             |- pdf -|- frontmatter -|- mark21.pdf  (NAG copyright and main
                     |               |               pdf page)
                     |               |- foreword.pdf
                     |
                     |- [A00-X05] -|- *conts.pdf    (chapter contents)
                     |             |- *intro.pdf    (chapter introduction)
                     |             |- *f.pdf        (routine documents)
                     |
                     |- genint -|- *.pdf  (general introductory material
                     |                     and online help document)
                     |
                     |- indexes -|- *.pdf (bookmarked file containing links
                     |                     to fl_kwic.html and fl_gams.html)
                     |
                     |- INUNs -|- *.pdf   (implementation specific note)

3.2. File Sizes

The files require approximately the following disk space:
compiled libraries:
  libnag_nag.a     46.6 Mb
  libnag_acml.a    45.6 Mb
  libnag_nag.so    24.5 Mb
  libnag_acml.so   24.3 Mb
ACML libraries:    97.7 Mb
example program material:               14.6 Mb
scripts:                                16.0 Kb
implementation specific documentation:  60.0 Kb
Library Manual:                        212.5 Mb
licensing materials                      3.1 Mb

4. Installation

4.1. Installation of Library Software and Manual

This section provides two ways of installing the software, manual and other material provided.

4.1.1. Installation using install script

You can install the materials from the CD or download directory by executing the Bourne Shell script install in a command window as:
./install.sh
By default, the materials will be installed in /opt/NAG/ or /usr/local/NAG/ depending on your system. The installer may choose a different location. In this document we refer to the directory /opt/NAG/fll6a21dql or /usr/local/NAG/fll6a21dql as [INSTALL_DIR].

The directory [INSTALL_DIR] is referenced in the Users' Note (un.html).

The directory [INSTALL_DIR]/scripts contains one or more scripts to show how to use the libraries provided with this implementation. See Users' Note, Example Programs. Subsequent to the installation, if the installer moves the library to some other location then these scripts must be changed to reflect that fact.

To simplify access to the libraries you may wish to create symbolic links in a system location such as /usr/lib pointing at the installed libraries. They would then be in the default search path of the linker during the link phase, and be available for execution at run time (in the case of shareable libraries). Note that if both the static and shareable version of a library are placed in a directory then the shareable version is usually used by default.

The NAG Fortran Library Interface Blocks define the type and arguments of each user callable NAG Fortran Library routine. These are not essential to calling the NAG Fortran Library from Fortran 90/95 programs. Their purpose is to allow the Fortran 90/95 compiler to check that NAG Fortran Library routines are called correctly.

The interface block files (nag_interface_blocks/*) are supplied in both source form and pre-compiled module form.

The -Ipathname option should then be specified on each f90/f95 invocation (where pathname is [INSTALL_DIR]/nag_interface_blocks) to tell the compiler where to find the modules.

The install script can install the Library Manual in the same location as the NAG Library material or at some other location of the installer's choice.

You may wish to move the Library Manual to the same location as that for other NAG products. You are encouraged to make them readily available to users.

4.1.2. Installation without using install script

The libraries can be installed manually by following the instructions below:

Use the tar utility to extract the materials, e.g.

tar xvf /cdrom/fl21.tar
(assuming the CD-ROM has been mounted as /cdrom).

Each library is provided in both static and shareable format. You also have a choice of libraries; self contained libraries which use NAG supplied BLAS and LAPACK or libraries which require the use of ACML supplied BLAS and LAPACK. You may choose to install some or all of the libraries.

To simplify access to the libraries you may wish to create symbolic links in a system location such as /usr/lib pointing at the installed libraries. Then they would be in the default search path of the linker during the link phase, and be available for execution at run time (in the case of shareable libraries). Note that if both the static and shareable version of a library are placed in a directory then the shareable version is usually used by default.

The NAG Fortran Library Interface Blocks define the type and arguments of each user callable NAG Fortran Library routine. These are not essential to calling the NAG Fortran Library from Fortran 90/95 programs. Their purpose is to allow the Fortran 90/95 compiler to check that NAG Fortran Library routines are called correctly.

The interface block files (nag_interface_blocks/*) are supplied in both source form and pre-compiled module form.

The -Ipathname option should then be specified on each f90/f95 invocation (where pathname is [INSTALL_DIR]/nag_interface_blocks) to tell the compiler where to find the modules.

The directory [INSTALL_DIR]/scripts contains one or more scripts to show how to use the libraries provided with this implementation. These scripts refer to the local directory containing the example programs. The files should be copied to (for example) /usr/local/bin, modified to reflect the local installation, and their protection set to world execute.

To install the Library Manual, use the tar utility, e.g.

tar xvf /cdrom/mk21_doc.tar
(assuming the CD-ROM has been mounted as /cdrom).

You may wish to move the Library Manual to the same location as that for other NAG products. You are encouraged to make them readily available to users.

4.1.3. License Management

The use of the NAG Fortran Library is controlled by the Kusari license management system. This release of the NAG Fortran Library uses version 2.1.9 of Kusari.

In order to enable the software, NAG will issue you with a license key. The license key is contained in a text file consisting of details of the software that will be enabled.

To request a license key, run the program khostid located in the license/bin/amd64/ 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 FLL6A21DQ by e-mail (or FAX) 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) license key contains one or more lines like the following:

FLL6A21DQ TRIAL 2008/01/01 "EMnxidA3oeoj0F1Yvi5ibxPjB7"
Specifically, it has a line containing the word TRIAL. Longer term license keys must be locked to a specific computer, i.e. they will enable the software on one computer only. These license keys include the word NODE instead of the word TRIAL above.

Once you have obtained one of the above license keys, store the text of it in a file, say

[INSTALL_DIR]/license.lic.
The location of the license file 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]/license.lic
or in the Bourne shell, type:
   NAG_KUSARI_FILE=[INSTALL_DIR]/license.lic
   export NAG_KUSARI_FILE

Further details about Kusari and how it may be configured to suit your local circumstances are included in the Kusari License Management documentation in the license/doc/ subdirectory of the software distribution.

4.2. Release to Users

The Users' Note (doc/un.html) should be checked and amended as necessary (particularly Sections 3.1, 3.2 and 5). Advice on accessing the library (see Users' Note, Section 3.1) can be checked by running a few example programs following that advice; a suitable sample would be D01AUF, E04UCA and F07ADF. The installation can also be tested using the scripts nag_example* (see Users' Note, Section 3.2). The Users' Note (doc/un.html) should then be made available to users directly, or be absorbed into local access information.

The following material should also be made accessible to users:

documentation files:

The nagdoc_mk21 directory contains the Library Manual. This should be made available to users.

compiled libraries:

  libnag_nag.a
  libnag_acml.a
  libnag_nag.so
  libnag_acml.so
  ACML libraries supplied by NAG
interface block files:
  nag_interface_blocks/*
example program material:
  examples/source/??????e.f
  examples/data/??????e.d
  examples/results/??????e.r
  scripts/nag_example*

Note that the example material has been adapted, if necessary, from that published in the Library Manual, so that programs are suitable for execution with this implementation with no further changes (but see Section 4.3.1 for comments about possible differences in results obtained). Making the example material directly available to users provides them with easily adaptable templates for their own problems.

4.3. Further Information

For best performance on AMD64 systems, we recommend that you should use the variant of the NAG Fortran Library which is based on the supplied ACML library i.e. libnag_acml.a or libnag_acml.so. However if you use a version of the ACML library different from the version used in creating this implementation and you have problems when calling a NAG routine, we suggest that you use the self-contained libraries libnag_nag.a or libnag_nag.so.

4.3.1. Example Programs

The example results distributed were generated at Mark 21, using the software described in Section 2.2. These example results may not be exactly reproducible if the example programs are run in a slightly different environment (for example, a different Fortran compiler, a different compiler library, or a different set of BLAS or LAPACK routines). The results which are most sensitive to such differences are: eigenvectors (which may differ by a scalar multiple, often -1, but sometimes complex); numbers of iterations and function evaluations; and residuals and other "small" quantities of the same order as the machine precision.

The installer should ensure that the advice given to users in Section 3.1 of the Users' Note (un.html) is suitable for the installation. This can be done by running a few example programs following that advice. The installation can also be tested using the scripts nag_example*.

4.3.2. Maintenance Level

The maintenance level of the Library can be determined by compiling and executing the example that calls A00AAF, or you could call the script nag_example with the argument a00aaf. See Users' Note, Example Programs . This example prints out details of the implementation, including title and product code, compiler and precision used, mark and maintenance level.

5. Documentation

On-line documentation is bundled with this implementation. Please see Section 4.

6. Support from NAG

(a) Contact with NAG

Queries concerning this document or the implementation generally should be directed initially to your local Advisory Service. If you have difficulty in making contact locally, you can contact NAG directly at one of the addresses given in the Appendix. Users subscribing to the support service are encouraged to contact one of the NAG Response Centres (see below).

(b) NAG Response Centres

The NAG Response Centres are available for general enquiries from all users and also for technical queries from sites with an annually licensed product or support service.

The Response Centres are open during office hours, but contact is possible by fax, email and phone (answering machine) at all times.

When contacting a Response Centre, it helps us deal with your enquiry quickly if you can quote your NAG site reference and NAG product code (in this case FLL6A21DQL).

(c) NAG Websites

The NAG websites provide information about implementation availability, descriptions of products, downloadable software, product documentation and technical reports. The NAG websites can be accessed at the following URLs:

http://www.nag.co.uk/, http://www.nag.com/ or http://www.nag-j.co.jp/

(d) NAG Electronic Newsletter

If you would like to be kept up to date with news from NAG then please register to receive our free electronic newsletter, which will alert you to special offers, announcements about new products or product/service enhancements, customer stories and NAG's event diary. You can register via one of our websites, or by contacting us at nagnews@nag.co.uk.

(e) Product Registration

To ensure that you receive information on updates and other relevant announcements, please register this product with us. For NAG Library products this may be accomplished by filling in the online registration form at http://www.nag.co.uk/numeric/Library_Registration.asp.

7. User Feedback

Many factors influence the way that NAG's products and services evolve, and your ideas are invaluable in helping us to ensure that we meet your needs. If you would like to contribute to this process, we would be delighted to receive your comments. Please contact any of the NAG Response Centres (shown below).

Appendix - Contact Addresses

NAG Ltd
Wilkinson House
Jordan Hill Road
OXFORD  OX2 8DR                         NAG Ltd Response Centre
United Kingdom                          email: support@nag.co.uk

Tel: +44 (0)1865 511245                 Tel: +44 (0)1865 311744
Fax: +44 (0)1865 310139                 Fax: +44 (0)1865 310139

NAG Inc
801 Warrenville Road
Suite 185
Lisle, IL  60532-4332                   NAG Inc Response Centre
USA                                     email: support@nag.com

Tel: +1 630 971 2337                    Tel: +1 630 971 2337
Fax: +1 630 971 2706                    Fax: +1 630 971 2706

Nihon NAG KK
Hatchobori Frontier Building 2F
4-9-9
Hatchobori
Chuo-ku
Tokyo
104-0032
Japan
email: help@nag-j.co.jp

Tel: +81 (0)3 5542 6311
Fax: +81 (0)3 5542 6312