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.
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.shIt 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-groupwhere 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-groupif your new version of MKL is installed in, for example,/opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64then replace/opt/fdl6i03dcl/mkl_em64t/lib/em64tby/opt/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64everywhere. If you want to use the nagsmpiexample scriptfdl6i03dcl/scripts/nagmpiexamplethen it can be modfied in the same way.
2.3. Running NAG Parallel Library ProgramsThe mpirun command must be used to run a user program (say a.out) linked with the NAG Parallel Library on multiple nodes. For examplempirun -n 4 a.outinstructs 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 ProgramsThe 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 commandnagmpiexample f04ebfpto 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 DocumentationThe following information file is provided in the doc directory:
See Section 4 for additional documentation.
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-308Parameters of other aspects of the computing environment
X02AHF = 1.427247692705960D+045 X02BBF = 2147483647 X02BEF = 15 X02DAF = .FALSE.
Online documentation is provided, in PDF form, with this implementation. Please see the Readme file on the distribution medium for further information.
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).
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.com/ (in North America)
http://www.nag-j.co.jp/ (in Japan)
NAG Ltd Wilkinson House Jordan Hill Road OXFORD OX2 8DR NAG Ltd Response Centre United Kingdom email: firstname.lastname@example.org 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: email@example.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: firstname.lastname@example.org Tel: +81 (0)3 5542 6311 Fax: +81 (0)3 5542 6312