Guide and Reference


Processing Your Program

This chapter provides information on how to process your program. It contains processing procedures that apply to Fortran, C, and C++ programs using ESSL. It describes only the ESSL-specific changes you need to make to your job setup procedures. For complete examples of job setup procedures, see your programming language's programming guide.

Notes:

  1. If your existing application program calls ESSL, you only need to re-link your program to use the new ESSL SMP or Thread-Safe Library.

  2. For the ESSL SMP Library, you can use the XL Fortran XLSMPOPTS environment variable to specify options which affect SMP execution. For details, see IBM XL Fortran for AIX User's Guide Version 5.

  3. If you are using the ESSL POWER2 Library, you must be running on a RS/6000 POWER2 processor.

Compiling

This section describes how to compile your program.

General Procedures

You can use any procedures you are currently using for compiling your program. ESSL requires no changes to the compile-time setup procedures for C or C++ programs, because the ESSL header file, essl.h, which is used for C and C++ programs, is installed in the /usr/include directory.

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

You must use only the allowable compilers or assemblers listed in Table 2.

Using Your Own Complex Data Definitions in C Programs

If you want to specify your own definitions for short- and long-precision complex data, add -D_CMPLX and -D_DCMPLX, respectively, to your compile command, as shown here:
ESSL Library Name Command
SMP or Thread-Safe
   cc_r  -cO  -D_CMPLX  -D_DCMPLX  xyz.c

POWER2 or POWER
   cc  -cO  -D_CMPLX  -D_DCMPLX  xyz.c

where xyz.c is the name of your C program. Otherwise, you automatically use the definitions of short- and long-precision complex data provided in the ESSL header file.

Using Your Own Short Complex Data Definitions in C++ Programs

If you want to specify your own definition for short-precision complex data, add -D_CMPLX to your command, as shown here:
ESSL Library Name Command
SMP or Thread-Safe
   xlC_r  -cO  -D_CMPLX  xyz.C

POWER2 or POWER
   xlC  -cO  -D_CMPLX  xyz.C

where xyz.C is the name of your C++ program. Otherwise, you automatically use the definition of short-precision complex data provided in the ESSL header file.


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