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.
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
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:
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.
An example of a makefile for an HPF program is shown in Appendix B. "Sample Programs". See "Makefile (Message Passing)".