NAG C Library, Mark 8

CLW3208DBL, License Managed

Windows XP/Vista Microsoft C/C++

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 C 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 C Library that is considered suitable for operation on the computer systems detailed below:

hardware:          32 bit Intel x86 systems and compatible
operating system:  Windows XP/2003/Vista
C compiler:        Microsoft Visual C++ .NET 2005 (Release 8.0)

This implementation is also suitable for operation with Microsoft Visual C++ Versions 7.1 and 9.0. The DLL version has some restrictions on I/O when used with a C compiler other than Microsoft Visual C++ .NET Release 8.0, please see below.

A separate DLL implementation is available for use from environments like Visual Basic and Excel. This contains examples, projects and aids to interoperate the DLL with a number of languages and environments. Please see http://www.nag.co.uk/numeric/Num_DLLhelp.asp for the latest information.

2.2. Derivation

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

hardware:          Dell Pentium 4 workstation
operating system:  Windows XP sp2
C compiler:        Microsoft Visual C/C++ Version 6.0

The DLL files in this implementation were created using the Microsoft Visual C++ .NET Release 8.0 linker and C run time libraries on a Windows XP system. Hence these DLLs are linked with MSVCR80.DLL. The manifest file is compiled into the DLLs creating a dependency on version '8.0.50608.0' of the C run time library. The redistributable versions of these Microsoft Visual C++ .NET Release 8.0 run time libraries are included in this product in the bin folder.

All the libraries in this distribution have been tested on Windows XP with

Please note that with the DLL version of this library, if you are not using Release 8.0 (Version 14.00.50727.42) of the Microsoft Visual C++ compiler, mixing output from your C code with output from NAG C Library functions, e.g. X04 chapter functions, may result in output files where results appear in the wrong order. This is apparent when running the NAG Example Programs, e.g. g02efce.c. This is caused by having two different C run time libraries linked to the executable, using buffered output which is flushed independently by each run time library. The example programs supplied with this implementation have fflush statements added wherever possible in order to minimise the number of such cases. Also code that relies on reading the same input file from C code and also via a NAG C Library function will not work as the current file pointer will not be shared by the two run time libraries. This may be seen in the failure of the NAG C Library Example Program e04nrce.c, which reads data for the C example and options for e04nrc from the same file.

A more detailed description of this problem may be found on the NAG web site at http://www.nag.co.uk/numeric/CL/CDLLmanifest.asp.

These problems are not found in the static versions of the NAG C Library.

The entire NAG C Library, Mark 8, was compiled with compiler optimization /O2 except one internal routine that was compiled with /Od.

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, f16, f07 and f08 in the NAG C Library Manual).

The library has also been tested with MKL Version 8.0. The MKL Version 8.0 libraries are supplied as a part of this product (see contents).

The LAPACK functions DBDSQR, DGEQPF, DORMQR, ZBDSQR, ZHPEVD and ZUNMQR in MKL are not used; instead the NAG functions of the same name are called.

3. Distribution Medium

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

3.1. Contents

The following summarises the folder/file organization of the implementation materials as they will be installed. By default, the NAG C Library materials will be installed under C:\Program Files\NAG\CL08\.
            |- doc -|- in.html  (Installer's Note, (this document))
            |       |- un.html  (Users' Note)
            |       |- lic_agr.txt
            |
            |         |- nagc_example_*.bat  (Batch files to compile
            |         |                and run NAG example programs)
            |- batch -|
            |         |
            |         |- envvars.bat  (Batch files to set environment
            |                        variables for the NAG C Library)
            |
            |       |- CLW3208DB_nag.dll  (DLL including     
            |       |                      NAG BLAS/LAPACK)
            |       |
            |       |- CLW3208DB_mkl.dll  (DLL requiring   
            |       |                      MKL BLAS/LAPACK)
            |- bin -|
            |       |- *.dll  (Other runtime DLLs)
            |       |
            |       |- *.manifest  (Manifest files created by VC++ 8.0)
            |       |
            |       |- *  (Other support files)
            |                            
            |- diagnostics -|- NAG_C_DLL_info.exe  (Program to check
            |                                       DLL accessibility)
            |
            |            |- source --|- ??????e.c
clw3208dbl -|- examples -|- data ----|- ??????e.d
            |            |- results -|- ??????e.r
            |
            |- include -|- *.h 
            |
            |       |- CLW3208DB_nag.lib  (DLL import library    
            |       |                      including NAG BLAS/LAPACK)
            |       |                                                
            |       |- CLW3208DB_mkl.lib  (DLL import library        
            |       |                      requiring MKL BLAS/LAPACK)
            |       |
            |- lib -|- nagc_nag_MT.lib  (static library including
            |       |                    NAG BLAS/LAPACK compiled with /MT)
            |       |
            |       |- nagc_mkl_MT.lib  (static library requiring
            |       |                    MKL BLAS/LAPACK compiled with /MT)
            |       |
            |       |- nagc_nag_MD.lib  (static library including
            |                            NAG BLAS/LAPACK compiled with /MD)
            |
            |           |- bin -|- * (directories of binaries
            |           |             for supported platforms)
            |- license -|- README.TXT
            |           |
            |           |- doc -|- * (End User Guide)
            |
            |- MKL_ia32_8.0 --|- * (Intel Math Kernel Library)

nagc_nag_MT.lib is a static library that includes NAG BLAS/LAPACK. nagc_mkl_MT.lib is a static library that does not include BLAS/LAPACK. Both libraries have been compiled with the /MT option to link with the static multi-threaded C run time library. This option must be used when compiling applications to be linked with either of these libraries to ensure linking to the correct C run time libraries.

CLW3208DB_nag.lib is a DLL import library that includes NAG BLAS/LAPACK. CLW3208DB_mkl.lib is a DLL import library that does not include BLAS/LAPACK. Both libraries have been compiled with the /MD option to link with the multi-threaded DLL C run time library. This option must be used when compiling applications to be linked with either of these libraries to ensure linking to the correct C run time libraries.

nagc_nag_MD.lib is an alternative version of the static library that includes NAG BLAS/LAPACK and is compiled with the /MD option. It is provided for applications which require the multi-threaded DLL C run time library to be used. There is no MKL version of this library as there is no compatible MKL static library.

The following shows the folder/file organization of the Library Manual as they will be installed. By default, manual is installed beneath the folder C:\Program Files\NAG\CL08\.

manual -|- examples -|- replaced    -|- *.c
        |            |- baseresults -|- *.r
        |            |- source      -|- *.c
        |            |- data        -|- *.d
        |
        |- html  -|- mark8.html                (main HTML index)
        |         |
        |         |- [A00-X04] -|- *conts.html (chapter contents)
        |         |
        |         |- genint  -|- cl_*.html (general introductory material
        |         |                         and online help document)
        |         |
        |         |- indexes -|- gams -|- cl_gams.html (GAMS index)
        |         |           |        |- cl*.html     (GAMS files)
        |         |           |
        |         |           |- kwic -|- cl_kwic.html (KWIC index)
        |         |                    |- cl*.html     (KWIC files)
        |         |
        |         |- styles  -|- libdoc.css   (main CSS stylesheet)
        |
        |- pdf   -|- frontmatter -|- mark8.pdf  (NAG copyright and main
                  |                              pdf page)
                  |
                  |- [A00-X04] -|- *conts.pdf (chapter contents)
                  |             |- *intro.pdf (chapter introduction)
                  |             |- *c.pdf     (routine documents)
                  |
                  |- genint  -|- *.pdf   (general introductory material
                  |                       and online help document)
                  |
                  |- indexes -|- *.pdf   (bookmarked file containing links
                  |                       to cl_kwic.html and cl_gams.html)
                  |
                  |- INUNs   -|- *.pdf   (implementation specific note)

3.2. File Sizes

The files require approximately the following disk space:
libraries:                               79.6 MB
MKL:                                     71.3 MB
batch files:                               20 KB
include files:                            0.8 MB
example program material:                10.4 MB
Library Manual:                           141 MB
implementation specific documentation:     68 KB
licensing materials                       5.6 MB

4. Installation

4.1. Installation of Library Software and Manual

4.1.1. Library Installation

You must have Administrator privileges to install this software.

If you have the Library materials on CD, insert the CD into your CD drive to display the NAG CD browser. Click on the Install ... button and follow the instructions to install the Library and/or the manual. If the CD does not autorun, run

  e:\run_cd_browser.bat
to run the browser, or run e:\setup.exe to run the Library installation directly, where e is the drive letter for your CD drive.

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

After installation, you should ensure that the software described in Section 3.1 is present and accessible.

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 Library procedures.

The installation procedure will create a shortcut which starts a Command Prompt with the required local environment variables. The default location of this shortcut is in the Start Menu under

  Start|All Programs|NAG|CL08|NAG C Library - 
      Microsoft C++ (CLW3208DBL). Command Prompt

The local environment variable NAG_CLW3208DBL is needed by the batch files nagc_example_*.bat (see Section 3.1.1. of the Users' Note (un.html)).

There is also a shortcut to the diagnostic program NAG_C_DLL_info.exe under

  Start|All Programs|NAG|CL08|NAG C Library -
      Microsoft C++ (CLW3208DBL). Check Accessibility
(see Section 4.3.3).

The installation procedure also creates a shortcut on the Start Menu to the Users' Note, which by default is located under

  Start|All Programs|NAG|CL08|NAG C Library -
      Microsoft C++ (CLW3208DBL). Users' Note

This software is provided with an uninstallation facility via

  Control Panel|Add or Remove Programs
on Windows XP, or via
  Control Panel|Programs and Features|Uninstall or change a program
on Windows Vista.

Alternatively you could run the setup program again and select the Remove option.

If it is planned to use Microsoft Visual Studio to build programs that use the NAG C Library, each user should set the appropriate options. Start Visual Studio and from the "Tools" menu, select "Options" and expand the "Projects and Solutions" section and click the "VC++ Directories" entry. Using the "Show directories for" menu,

More detailed advice on using Visual Studio may be found in the Users' Note.

The above instructions are specific to Microsoft Visual Studio 2005; if a different version of Visual Studio is being used the procedure will differ slightly.

4.1.2. Library Manual Installation

It is not necessary to install the Library Manual. Users may access it directly on the distribution CD, or it may be installed on a different workstation or server, or viewed from the NAG website ( http://www.nag.co.uk/numeric/CL/CLdocumentation.asp).

If you have the Library materials on CD, insert the CD into your CD drive to display the NAG CD browser. Click on the Install ... button and follow the instructions to install the Library and/or the manual. If the CD does not autorun, run

  e:\Demo32 C_Library_Browser.dbd
to run the browser, or run e:\setup_cl08_manual.exe to run the Library manual installation directly, where e is the drive letter for your CD drive.

If you have downloaded the Library Manual materials from our website, run the self-extracting executable to start the Library Manual installation.

The installation will create a shortcut to the main index file for the manual. The default location of this shortcut is in the Start Menu under

  Start|All Programs|NAG|CL08|NAG C Library Manual

Free copies of Adobe Acrobat Reader can be downloaded from http://www.adobe.com/. Please check this site for availability of a reader for your platform.

4.1.3. License Management

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

In order to enable the software, NAG will issue you with a license key. The license key is a simple text file containing details of the software that will be enabled. For evaluation purposes a trial license may be used. To get a trial license contact the NAG Response Centre. Before obtaining a full license you need to know the Kusari hostid of the system on which you intend to use this product and how to do this is described below.

The easiest way to request a license key is to use the 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 clw3208dbl\license\doc folder).

4.1.3.1. The GUI license key request and key installation program
The recommended way to request a license key is to use the 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 Response Centre. In the case of a full key, the message contains the Kusari hostid.

Once you have your license key, the same GUI can be used to install the key in the registry.

You can execute this GUI from

  Start|All Programs|NAG|CL08|NAG C Library -
      (CLW3208DB). Request or install license key
This GUI can also be run from the installation procedure.
4.1.3.2. Command line license 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 Response Centre with your details, your organisation details and your NAG Site Reference (if known).

The 'khostid' command may be found in the clw3208dbl\bin folder.

4.1.3.3. Command line installation of the license 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 clw3208dbl\bin folder. First put the license key in a file, say license.dat. If you have administrator privilege you can install the key for all users,
  klreg CLW3208DB license.dat
Otherwise the key can be installed for the current user,
  klreg /current_user CLW3208DB license.dat
4.1.3.4. Installing the license key in a file
You are recommended to install the license key in the registry as described above. If this is not suitable an alternative method is to put the license 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 license file.

The environment variable may be set from the Control Panel.

4.1.3.5. USB key licenses
Simply insert the USB key in any spare USB socket on the machine on which you wish to run this product.
4.1.3.6. Testing the license
The a00acc example program may be used to check the license is properly installed or the diagnostic program can be used to check both accessibility and licensing (see Section 4.3.3) .

4.2. Release to Users

The Users' Note (doc/un.html) should be checked and amended as necessary (particularly Sections 3.1, 3.3 and 5). Advice on accessing the library in Section 3.1 can be checked by running a few example programs following that advice; a suitable sample would be a02bac, d01ajc, g05ffc and s17akc. The installation can also be tested using the appropriate batch file, e.g. nagc_example_static_mt.bat. The Users' Note 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 CL08\manual folder contains the online documentation. This should be made available to users, in addition to the following:

compiled libraries:

  lib\CLW3208DB_mkl.lib
  lib\CLW3208DB_nag.lib
  lib\nagc_mkl_MT.lib
  lib\nagc_nag_MD.lib
  lib\nagc_nag_MT.lib
  bin\CLW3208DB_mkl.dll
  bin\CLW3208DB_nag.dll
  MKL_ia32_8.0\lib\*
  MKL_ia32_8.0\bin\*
include files:
  include\*
example program material:
  examples\source\*.f
  examples\data\*.d
  examples\results\*.r
  batch\nagc_example*.bat
batch file to set environment variables:
  batch\envvars.bat

Note that the example material has been adapted, if necessary, from that published in the NAG C 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 we recommend that you should use the variant of the NAG C Library which is based on the supplied MKL library i.e. nagc_mkl_MT.lib or CLW3208DB_mkl.dll. However if you use a version of the MKL 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 nagc_nag_MT.lib or CLW3208DB_nag.dll.

4.3.1. Example Programs

The example results distributed were generated at Mark 8, 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 C 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.

4.3.2. Maintenance Level

The maintenance level of the library can be determined by compiling and executing the example that calls a00aac or you could call the appropriate batch file, e.g. nagc_example_static_mt with the argument a00aac. 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.

Alternatively, run the diagnostic program NAG_C_DLL_info.exe which itself calls a00aac (see Section 4.3.3).

4.3.3. Accessibility Check

The diagnostic program NAG_C_DLL_info.exe, which by default is located in C:\Program Files\NAG\CL08\clw3208dbl\diagnostics, may be used to check whether the DLLs CLW3208DB_nag.dll and CLW3208DB_mkl.dll are accessible from the current environment. If this program is started from Windows Explorer or from the
  Start|All Programs|NAG|CL08|NAG C Library -
      (CLW3208DBL). Check Accessibility
shortcut on the Start Menu, 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 of the Users' Note for more information on environment variables.)

For each of the DLLs that it loads successfully, NAG_C_DLL_info.exe will print the location of the DLL, and pop up a message box showing the implementation details as provided by a call to the routine a00aac. It also calls a00acc to check the availability of a valid license key if required by the implementation and reports if this is not found; "Status OK" indicates that a valid key was either found or not required.

5. Documentation

Online documentation is bundled with this implementation. Please see Section 4. See Section 3.1 for online help files in HTML and PDF formats.

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 CLW3208DBL).

(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 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 Center
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