Guide and Reference


Running Your HPF Program

This section describes both the Parallel ESSL-specific and ESSL for AIX-specific changes you need to make to your HPF job procedures for compiling, linking, and running your HPF program. For details on general HPF procedures, see the IBM XL High Performance Fortran for AIX User's Guide

You can use any procedures you are currently using to compile, link, and run your HPF programs, as long as you make the necessary modifications required by Parallel ESSL.

Dynamic Linking Versus Static Linking

When using an xlhpf or xlhpf90 command, only dynamic linking is supported for programs using Parallel ESSL. For details about how to do this, see the appropriate Parallel Environment: Operation and Use manual and the IBM XL High Performance Fortran for AIX User's Guide

HPF Program Procedures

You do not need to modify your existing XL HPF compilation procedures when using Parallel ESSL. For example, you can use:
ESSL Library Name Command
POWER2 or POWER
xlhpf  -c  xyz.f

where xyz.f is the name of your HPF program.
Note: You can use either xlhpf or xlhpf90, as needed, in the commands shown below.

When linking and running your program, you need to modify your existing HPF job procedures for Parallel ESSL, to set up the necessary libraries. If you are accessing Parallel ESSL from an HPF program, you can compile and link using the following command:
ESSL Library Name Command
POWER2
xlhpf   -O  xyz.f  -lesslp2  -lpesslp2  -lblacsp2  -lpesslhpfp2

POWER
xlhpf   -O  xyz.f -lessl -lpessl  -lblacs  -lpesslhpf

where xyz.f is the name of your Fortran program.

If you want to compile and link your HPF program in separate steps, you can use the following commands:
ESSL Library Name Command
POWER2
xlhpf  -O  -c  xyz.f
xlhpf  xyz.o  -lesslp2  -lpesslp2  -lblacsp2  -lpesslhpfp2

POWER
xlhpf  -O  -c  xyz.f
xlhpf  xyz.o  -lessl  -lpessl  -lblacs  -lpesslhpf

where xyz.f is the name of your HPF program, and xyz.o is the name of your object file.

Parallel ESSL supports the XL HPF compile-time option -qextname. For details, see the XL HPF manuals.

Notes:

  1. XL HPF Version 1.2 users should specify the binder options -L/usr/lpp/ppe.poe/lib -L/usr/lib in the xlhpf or xlhpf90 command line when binding executables. This ensures that the libxlf90.a provided with XLF Version 5.1 is used, rather than the libxlf90.a provided with XL HPF Version 1.2.

  2. The default search path for the Parallel ESSL and ESSL for AIX libraries is: /usr/lib. (Note that /lib is a symbolic link to /usr/lib.)

    If the libraries are installed somewhere else, add the path name of that directory to the beginning of the LIBPATH environment variable, being careful to keep /usr/lib in the path. The correct LIBPATH setting is needed both for linking and executing the program.

    For example, if you are using POWER2 nodes only, and you installed the Parallel ESSL libraries in /home/me/lib you would issue ksh commands similar to the following in order to compile and link a program:

        LIBPATH=/home/me/lib:/usr/lib
        export LIBPATH
        xlhpf -o myprog myprog.f -lesslp2 -lpesslp2 -lblacsp2 -lpesslhpfp2
    

    After setting the LIBPATH command, the /home/me/lib directory is the directory that gets searched first for the necessary libraries. This same search criteria is used at both compile and link time and run time.

  3. When you specify -lesslp2, -lpesslp2, -lblacsp2, and -lpesslhpfp2 in your commands, then all nodes that Parallel ESSL is running on must be POWER2 nodes. If you are running on both POWER and POWER2 nodes, you must specify -lessl, -lpessl, -lblacs, and -lpesslhpf.

  4. The ESSL for AIX and Parallel ESSL libraries are shared libraries and must be used in conjunction with each other. Equivalent subroutines with the same names in other libraries (such as, libblas.a) will not be used even if they are specified on the command line in place of the ESSL for AIX library.

  5. In your job procedures, you must use only the allowable compilers and libraries listed in Table 1 for AIX.

An example of a makefile for an HPF program is shown in Appendix B. "Sample Programs". See "Makefile (Message Passing)".


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]