NAG Parallel Library, Release 3


Apple PowerPC (Mac OS X) Double Precision, GNU g77 compiler

Users' Note


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

2. General Information

2.1. MPI

Parallel programs using the NAG Parallel Library require the MPICH2 implementation of MPI to be installed. MPI enables a group of workstations to behave as an independent distributed memory parallel computer. A crucial component of MPI is the mpirun command, which can be used to run parallel programs on multiple workstations.

2.2. Accessing the Library

Assuming that a link to libnagmpi.a and libnagmpiblas.a has been placed in a directory in the search path of the linker, and the same applies to the MPICH2 libraries, then you may link to the NAG Parallel Library (using the supplied NAG Basic Linear Algebra Subprograms (BLAS) library) as follows:

g77 driver.f -lnagmpi -lnagmpiblas -lnagmpi -lpmpich -lmpich 
where driver.f is your application program. If the ATLAS BLAS library is available, then you may link to the NAG Parallel Library as follows:
g77 driver.f -lnagmpi -lf77blas -latlas -lpmpich -lmpich /usr/lib/gcc/darwin/3.3/libgcc.a
The above works for g77 3.4.4 on Panther and Tiger (10.3.x and 10.4.x) versions and the invocation of libgcc.a is meant to satisfy the need of the ATLAS libraries for GCC runtime symbols restFP and saveFP. It might not be necessary depending on how the ATLAS BLAS were compiled.

If the driver is a C program, then you must link in the g77 3.4.4 runtime library libg2c.a explicitly whenever you reference the NAG Parallel Library, like this:

gcc -I/path/to/fdamp03dg/include driver.c -lnagmpi -lnagmpiblas -lnagmpi -lpmpich -lmpich -lg2c

xlc -I/path/to/fdamp03dg/include driver.c -lnagmpi -lnagmpiblas -lnagmpi -lpmpich -lmpich -lg2c
The location of the libg2c.a library will depend on where and how the g77 3.4.4 compiler is installed, so -lg2c could be replaced by /path/to/libg2c.a. Try g77 -print-file-name=libg2c.a to let the installed compiler tell you where the runtime library is.

2.3. Running NAG Parallel Library Programs

The mpirun command, provided by MPICH2, must be used to run a user program (say a.out) linked with the NAG Parallel Library on multiple nodes. For example
mpirun -np 4 a.out
instructs the system to execute the executable program a.out in four parallel processes. Consult local documentation for full details of the facilities of mpirun or alternatives to it.

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 scripts nagmpiexample or nagmpicexample, 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 Fortran example program. This will place the results in the file f04ebfpe.r.

For example, give the command

nagmpicexample d01atfp
to run the D01ATFP C example program. This will place the results in the file d01atfpe.r.

2.5. On-line User Documentation

The following machine-readable information files are provided in the doc directory:

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.11022302462516D-16 
X02AKF = 2.22507385850721D-308 
X02ALF = 1.79769313486231D+308 
X02AMF = 2.22507385850721D-308 
X02ANF = 2.22507385850721D-308 
Parameters of other aspects of the computing environment
X02AHF = 8.11296384146067D+31 
X02BBF = 2147483647
X02BEF = 15

4. Documentation

On-line documentation is provided, in PDF form, with this implementation. Please refer to local information for access to this documentation

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.

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

(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

or (in North America)

or (in Japan)

(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

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 contact your local NAG Response Centre (shown below).

Appendix - Contact Addresses

Wilkinson House
Jordan Hill Road
OXFORD  OX2 8DR                         NAG Ltd Response Centre
United Kingdom                          email:

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

1431 Opus Place, Suite 220
Downers Grove
IL 60515-1362                           NAG Inc Response Center
USA                                     email:

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

Tokyo 104-0032

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