NAG Fortran Library, Mark 20

FLW3220DTL - Licence Managed

Windows NT/2000/XP Compaq Visual Fortran, Thread Safe

Installer's Note



Contents


1. Introduction

This document is essential reading for whoever is responsible for this installation of the NAG Fortran Library. It is supplied in printed form to accompany the software, and is also available as part of the distribution materials, together with the Users' Note, in the .\doc subdirectory.

Your attention is drawn to the terms and conditions of the software licence regarding the use of NAG software. Any request to use NAG software on a computer other than the one licensed 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:         32-bit Intel systems and compatibles
operating system: Windows NT, 2000 or XP
Fortran compiler: Compaq Visual Fortran version 6.1 and compatible

This implementation and its non-thread safe counterpart will run on Windows 95/98 and ME systems, but as these systems do not support multiple threads the non-thread safe library, NAG product code FLW3220DD, is more appropriate. Similarly, if multi-threaded applications are not being built using the library, FLW3220DD is the recommended static library on Windows NT, 2000 and XP systems.

This implementation can be called from Microsoft Visual C++ versions 5.x and 6.x (see Section 3.7 of the Users' Note). To interface with Microsoft Visual Basic, Excel and other Windows software, a NAG DLL implementation is required.

2.2. Derivation

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

hardware:         Dell OptiPlex GX1
operating system: Windows NT 4.0
Fortran compiler: Compaq Visual Fortran version 6.1
compiler options: /c /threads /automatic /libs:static 

The entire NAG Fortran Library, Mark 20, was compiled with full optimization (/optimize:5), except for the following routines which had to be compiled at lesser optimization levels:

E02AHZT.FOR (/optimize:0)    E04GZFT.FOR (/optimize:0)

This library has been tested using the Basic Linear Algebra Subprograms (BLAS) provided in the Intel MKL Library, version 5.1. The mkl_def.lib library was used to provide the kernel. (See the F06 Chapter Introduction for more information about the BLAS.)

The user may wish to work with newer or more processor-specific kernels. To obtain these please visit http://developer.intel.com/software/products/mkl/index.htm

3. Distribution Medium

3.1. Recording Details

The software is ordinarily distributed on CD-ROM.

3.2. Contents

The following shows the directory/file organization of the materials when they are requested and installed.
 
                      |-- in.html
                      |-- un.html
                      |-- blas_lapack_to_nag
            |-- doc --|-- nag_to_blas_lapack
            |         |-- nagfl20.chm
            |         |
            |         |-- manual20 --|-- pdf ---|-- * ------------|-- *.pdf
            |                        |
            |                        |          |-- frontmatter --|-- foreword.html
            |                        |          |-- genint -------|-- *.html
            |                        |          |-- images -------|-- *.*
            |                        |          |                 |-- *.gif
            |                        |          |
            |                        |-- html --|-- indexes ------|-- *.*
            |                                   |                 |-- *.*
            |                                   |
            |                                   |-- toc ----------|-- *.html
            |                                   |-- libdoc.css
            |                                   |-- mark20.html
            |
            |             |-- nagmk20.h
            |             |-- nagmk20.hxx
            |-- headers --|-- techdoc.html
            |             |-- mk20 --|-- *.c
flw3220dt --|
            |-- nag20DT.lib
            |-- nag20DTS.lib
            |-- mkl_s.lib
            |-- mkl_def.lib
            |-- flw3220dt.isu
            |
            |-- interface_blocks --|-- *.mod
            |                      |-- source --|-- *.f90
            |
            |              |-- source ---|-- *.f
            |-- examples --|-- data -----|-- *.d
            |              |-- results --|-- *.res
            |
            |-- batch --|-- nagex.bat
            |
            |-- mesh_view --|-- *.*
			

3.3. File Sizes

The approximate files sizes are given below. The actual disk space used is dependent on the hard disk allocation unit (cluster) size (this information is supplied by the DOS command CHKDSK):
compiled libraries:         17.2 Mb and 12.4 Mb
interface blocks:           2.7 Mb
example program material:   4.8 Mb
documentation files:        142 Mb
C and C++ header material:  1.0 Mb

4. Library Installation

4.1. Installation

The CD should autorun on Windows systems, and will then lead you to a dialogue for installation.

If the autorun facility does not operate, then double click on the setup.exe file on the CD using Windows Explorer. Any continuing difficulties indicate a problem which should be reported to one of the NAG Response Centres (see Section 6).

The installation program will ask you for the drive and directory where you would like to install the library materials. You will also be asked which parts of the materials you want to install. The installation program may be used to install all of the materials from CD-ROM or just some part of it, for example the library documentation files.

An uninstall facility is provided. This will remove the product from the user's disk. It will also undo the registry entries made during installation, but will not undo any changes to the autoexec.bat file. The uninstaller will not remove files created since the installation was completed (although it will remove original files that have been modified), so the user may have to delete these files to complete the removal.

After installation you should ensure that the software requested is present by examining the target directory using Windows Explorer.

Since users of this library will be creating multi-threaded applications they may wish to link their applications to the NAG subset library, nag20DTS.LIB, rather than the full library. The subset contains only those routines which are deemed to be thread safe. In this way users will avoid accidentally using non-thread safe NAG routines in critical threads.

The NAG Fortran Library Interface Blocks define the type and arguments of each user callable NAG Fortran Library routine, using Fortran 90 constructs. Although they are not essential for calling the NAG Fortran Library, they will allow a Fortran 90 compiler (such as the Compaq Visual Fortran compiler) to check that NAG Fortran Library routines are called correctly.

The interface block files (.\interface_blocks\*.mod) are supplied in pre-compiled module form. They should be made accessible to the user. If you are using a different version of the Compaq Visual Fortran compiler from that mentioned in Section 2.1, it may be necessary to recompile the interface blocks before making them available.

The batch file nagex.bat requires the setting of the environment variables NAGDTDIR and MKLDIR. NAGDTDIR should be set to the root directory of the NAG materials, whilst MKLDIR is the root directory of the MKL libraries. If you have not acquired MKL separately then MKLDIR will have the same value as NAGDTDIR.

Under Windows NT, 2000 and XP, the environment variable values may be set using the Control Panel. Under Windows NT, this may be found from the Start Menu by following the Settings/Control Panel/System/Environments route. If the default location is used, set the variable to

nagdtdir
and the value to
c:\Program Files\Numerical Algorithms Group\flw3220dt 
MKLDIR may be set similarly.

Under Windows 95/98, the autoexec.bat file can be edited to add the environment variables. For example, if the default location is used, add the line

set nagdtdir=c:\Program Files\Numerical Algorithms Group\flw3220dt 
to set NAGDTDIR.

The batch file should be made accessible to the user (for example, by copying the file to a directory in the user's path).

It is recommended that you add the library and module files paths to the LIB and INCLUDE environment variables respectively. This will simplify linking with the library and using the interface blocks on the command line (see Sections 3.1 and 3.5 of the Users' Note). Under Windows NT, 2000 and XP, the environment variables can be set via the Control Panel; under Windows 95/98, this requires a change to the autoexec.bat file. You may need to re-boot the system in order for the changes to the environment to be propagated.

If your machine has more than one processor, then it is recommended that you set the environment variable OMP_NUM_THREADS to the number of available processors, e.g.

set OMP_NUM_THREADS=2
This will enable the Intel MKL BLAS to make use of the extra processor(s) and will thus speed up the computation of many of the NAG library routines.

4.2 Licence Management

This product works in conjunction with a licence key which has to be provided by NAG.

To obtain this first begin the installation process. You will be prompted to describe the type of licence key you require. This will either be a 'Trial' key, which will allow you to try out the library for a limited period of time, or a 'Fully Paid' key which enables the library for usage indefinitely on the given processor. Once you have decided, the installation process will generate a file containing information which NAG will need in order to give you a valid licence for your machine. Either send this file electronically, or by FAX or post, to NAG. In return NAG will send you a valid licence key.

If you have received a file containing the key then simply place the file, with the name 'Licence.txt', in the directory in which you want the library to be placed. Otherwise have the licence key beside you. In either case you must begin the installation process again. You will now be able to respond that you have a licence key. If you have not placed a file containing the key into the installation directory then you will be invited to type the licence key into the system. You may type the key with or without the hyphens.

Thereafter respond to the prompts from the installation script.

4.3. Checking Accessibility

The installer should ensure that the advice given to users in Section 3.1 of the Users' Note (.\doc\un.html) is suitable for the installation. This can be done by running a few example programs following that advice; a suitable sample would be A02AAF, D01AUF, G05LFF and X03AAF.

The installation can also be tested using the script nagex.bat, which will copy an example program and its data, compile it, link it with the library and run it. To run an example program, make sure that the location of nagex.bat is on the path and create, for example, the directory c:\test. Make c:\test the current directory and then issue, for example, the command:

     
nagex c06eaf

4.4. Release to Users

The Users' Note (.\doc\un.html) should be checked and amended as necessary. It can 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 doc directory contains online documentation. This should be made available to users, in addition to the following


.\doc\blas_lapack_to_nag
.\doc\nag_to_blas_lapack
.\doc\un.html
Compiled libraries:
nag20DT.lib and nag20DTS.lib
MKL libraries:
mkl_s.lib and mkl_def.lib
Interface block files:
.\interface_blocks\*.mod
Example program material:
.\examples\source\*.f
.\examples\data\*.d
.\examples\results\*.res
.\batch\nagex.bat
C header material:
.\headers\nagmk20.h
.\headers\nagmk20.hxx
.\headers\techdoc.html
.\headers\mk20\*.c 
Mesh_View material:
.\mesh_view\*.*

Note that the example material has been adapted, where necessary, from that supplied in the online documentation, so that programs are suitable for execution with this implementation with no further changes (but see Section 4.4.2 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.4. Further Information

4.4.1. Output Unit Dependencies (X04)

Certain NAG routines use explicit WRITE statements to produce output directly. The choice of output unit used can be controlled by using the non-thread safe routines X04AAF and X04ABF, described in the online documentation. The defaults for this implementation are given in the Users' Note.

4.4.2. Example Programs

The example results distributed were generated at Mark 20, 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, using a different Fortran compiler, a different compiler library, different arithmetic hardware, 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 "example programs" for the routines in the F06 chapter are not typical example programs and they are not in the online documentation. They are test programs, which are supplied to sites for use in an installation test of the Library. Some of them take much longer to run than other example programs. Routines which are equivalent to BLAS are tested twice: once when called by their NAG F06 names, and once when called by their BLAS names.

4.4.3. Maintenance Level

The maintenance level of the library can be determined by writing a simple program to call A00AAF, which prints out details of the implementation, including title and product code, compiler and precision used, mark and maintenance level.

5. Documentation

A printed copy of the NAG Fortran Library Introductory Guide is normally provided with this implementation.

A full online version of the NAG Fortran Library Manual is provided in the form of Portable Document Format (PDF) files, and is included with this implementation on the distribution medium.

Online documentation of the routines is also provided in Windows HTML help file form as part of this implementation.

Printed copies of the NAG Fortran Library Manual are available for purchase; please refer to the NAG documentation order form (available on the NAG websites, see Section 6 (c)) for details of current prices.

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 please quote your NAG site reference and NAG product code. (This is given in the title of this document.)

(c) NAG Websites

The NAG websites are an information service providing items of interest to users and prospective users of NAG products and services. The information is reviewed and updated regularly and includes implementation availability, descriptions of products, downloadable software, product documentation and technical reports. The NAG websites can be accessed at

http://www.nag.co.uk/

or

http://www.nag.com/ (in North America)

or

http://www.nag-j.co.jp/ (in Japan)

(d) NAG Electronic Newsletter

If you would like to be kept up to date with news from NAG you may want to register to receive our electronic newsletter, which will alert you to special offers, announcements about new products or product/service enhancements, case studies and NAG's event diary. To register simply visit one of our websites or contact us at nagnews@nag.co.uk.

7. User Feedback

Many factors influence the way 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 via email to feedback@nag.co.uk. Alternatively feel free to contact the appropriate NAG Response Centre who will be happy to record your comments.

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
1431 Opus Place, Suite 220
Downers Grove
IL 60515-1362                           NAG Inc Response Center
USA                                     email: infodesk@nag.com
 
Tel: +1 630 971 2337                    Tel: +1 630 971 2345
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