NAG Parallel Library, Release 3

FDL6I03DCL - License Managed

Intel EM64T, Linux64, Intel Fortran, Intel MPI

Users' Note



Contents

1. Introduction

This document is essential reading for every user of the NAG Parallel Library implementation specified in the title. It provides implementation-specific detail that augments the information provided in the NAG Parallel Library Manual.

NAG recommends that users read the following minimum reference material before calling any library routine:

(a) Essential Introduction
(b) Chapter Introduction
(c) Routine Document
(d) Implementation-specific Users' Note

Items (a), (b) and (c) are included in the NAG Parallel Library Manual, which should be available locally in PDF form (see Section 4); item (d) is this document, which is provided in HTML form.

2. General Information

2.1. MPI

Parallel programs using the NAG Parallel Library require the Intel implementation of MPI ("Intel(R) MPI Library for Linux") to be installed. A crucial component of this is the mpirun(1) command, which can be used to run parallel programs on Linux Intel64 platforms.

2.2. Accessing the Library

It is important that the environment variables PATH and LD_LIBRARY_PATH are set up correctly so that compilation, linking and parallel execution can all complete successfully. This is best accomplished by the scripts that are provided with Intel software. Details vary according to which version is installed on your system and which interactive shell you are using. Here are the invocations of the bash shell scripts for the installation at NAG Ltd, corresponding to Version 11.0 of the compilers, Version 3.2 of the MPI library and Version 10.1 of the MKL library.

. /opt/intel/Compiler/11.0/069/bin/ifortvars.sh intel64
. /opt/intel/Compiler/11.0/069/bin/iccvars.sh intel64
. /opt/intel/impi/3.2.0.011_em64/bin64/mpivars.sh
. /opt/intel/10.1.1.019/tools/environment/mklvarsem64t.sh
It is recommended that the above scripts are sourced in your shell startup file (.bashrc for the bash shell). There are variants of the above scripts suitable for the C shell.

Assuming that the NAG Parallel Library software has been installed in /opt/fdl6i03dcl, then you may link to the NAG Parallel Library (using the Intel MKL library) as follows:

mpiifort driver.f /opt/fdl6i03dcl/libnagmpi.a /opt/fdl6i03dcl/libnagmpisup.a \
-Wl,--start-group /opt/fdl6i03dcl/mkl_em64t/lib/em64t/libmkl_blacs_intelmpi_lp64.a \
/opt/fdl6i03dcl/mkl_em64t/lib/em64t/libmkl_intel_lp64.a \
/opt/fdl6i03dcl/mkl_em64t/lib/em64t/libmkl_sequential.a \
/opt/fdl6i03dcl/mkl_em64t/lib/em64t/libmkl_core.a -static_mpi -Wl,--end-group
where driver.f is your application program. The above command will use the Intel MKL libraries redistributed with this software, linking them statically into the executable. If you want to use another MKL distribution, you need to change the pathnames for the libmkl* libraries to reflect your installation.

You can also choose to use shared libraries libnagmpi.so libnagmpisup.so instead of the static ones. In that case, you should ensure that the variable LD_LIBRARY_PATH is set (at shell startup time) to include the path where these shared libraries are.

It is also possible to link to newer versions of MKL instead of the one distributed with the NAG library. For example, in the compile line

mpiifort driver.f /opt/fdl6i03dcl/libnagmpi.a /opt/fdl6i03dcl/libnagmpisup.a \
-Wl,--start-group /opt/fdl6i03dcl/mkl_em64t/lib/em64t/libmkl_blacs_intelmpi_lp64.a \
/opt/fdl6i03dcl/mkl_em64t/lib/em64t/libmkl_intel_lp64.a \
/opt/fdl6i03dcl/mkl_em64t/lib/em64t/libmkl_sequential.a \
/opt/fdl6i03dcl/mkl_em64t/lib/em64t/libmkl_core.a -static_mpi -Wl,--end-group
if your new version of MKL is installed in, for example,
  /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64
then replace
  /opt/fdl6i03dcl/mkl_em64t/lib/em64t
by
  /opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64
everywhere. If you want to use the nagsmpiexample script
  fdl6i03dcl/scripts/nagmpiexample
then it can be modfied in the same way.

2.3. Running NAG Parallel Library Programs

The mpirun command must be used to run a user program (say a.out) linked with the NAG Parallel Library on multiple nodes. For example
mpirun -n 4 a.out
instructs the system to execute the executable program a.out in four parallel processes. Consult the Intel MPI Library for Linux OS Reference Manual document for full details of the facilities of mpirun(1).

2.4. Example Programs

The example programs and data and the results obtained during the preparation of this specific implementation are supplied so you can try them yourself, or use one as a template for your own program. Note that the example material has been adapted, if necessary, from that printed in the NAG Parallel Library Manual, so that programs are suitable for execution with this implementation.

The example programs are most easily accessed by using the script nagmpiexample, which will copy an example program and its data, compile it, link it with the libraries and run it.

For example, give the command

nagmpiexample f04ebfp
to run the F04EBFP example program. Almost all the example programs have 4 processes. If you need to modify the script you may find the information in Section 2 of the Intel MPI Library for Linux OS Reference Manual helpful as it explains the usage of the commands that start parallel jobs.

2.5. User Documentation

The following information file is provided in the doc directory:
  • un.html - Users' Note (this document)

See Section 4 for additional documentation.

3. Routine-specific Information

(a) X02

The constants referred to in the NAG Parallel Library Manual have the following values in this implementation:

The values of the machine constants are:

The basic parameters of the model

X02BHF =      2
X02BJF =     53
X02BKF =  -1021
X02BLF =   1024
X02DJF =  .TRUE.
Derived parameters of the floating-point arithmetic
X02AJF = 1.111307226797642D-16 
X02AKF = 2.225073858507201D-308 
X02ALF = 1.797693134862316D+308
X02AMF = 2.225073858507201D-308 
X02ANF = 2.225073858507201D-308 
Parameters of other aspects of the computing environment
X02AHF = 1.427247692705960D+045 
X02BBF = 2147483647
X02BEF = 15
X02DAF = .FALSE.

4. Documentation

Online documentation is provided, in PDF form, with this implementation. Please see the Readme file on the distribution medium for further information.

5. 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 (in this case FDL6I03DCL).

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

6. 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 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
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