-qessl

Category

Optimization and tuning

@PROCESS

None.

Purpose

Allows the compiler to substitute the Engineering and Scientific Subroutine Library (ESSL) routines in place of Fortran 90 intrinsic procedures.

The ESSL is a collection of subroutines that provides a wide range of mathematical functions for various scientific and engineering applications. The subroutines are tuned for performance on specific architectures. Some of the Fortran 90 intrinsic procedures have similar counterparts in ESSL. Performance is improved when these Fortran 90 intrinsic procedures are linked with ESSL. In this case, you can keep the interface of Fortran 90 intrinsic procedures, and get the added benefit of improved performance using ESSL.

Syntax

Read syntax diagramSkip visual syntax diagram
        .-noessl-.   
>>- -q--+-essl---+---------------------------------------------><

Defaults

-qnoessl

Usage

Use the ESSL Serial Library when linking with -lessl. Use the ESSL SMP Library when linking with -lesslsmp.

-lessl or -lesslsmp must be used whenever code is being compiled with -qessl. ESSL V4.1.1 or above is recommended. It supports both 32-bit and 64-bit environments.

Also, since libessl.so and libesslsmp.so have a dependency on libxlf90_r.so, compile with xlf_r, xlf90_r, or xlf95_r, which use libxlf90_r.so as the default to link. You can also specify -lxlf90_r on the link command line if you use the linker directly, or other commands to link.

The following MATMUL function calls may use ESSL routines when -qessl is enabled:

 real a(10,10), b(10,10), c(10,10)
   c=MATMUL(a,b)

Related information

The ESSL libraries are not shipped with the XL Fortran compiler. For more information about these libraries, see the Engineering and Scientific Subroutine Library (ESSL) and Parallel ESSL web page.