IBM Books

Parallel Engineering and Scientific Subroutine Library for AIX Version 2 Release 3: Guide and Reference


Coding Tips for Optimizing Parallel Performance

Performance has been the primary objective in the design of the Parallel ESSL subroutines. To achieve this performance goal, the Parallel ESSL subroutines use "state-of-the-art" algorithms tailored to specific operational characteristics of the hardware. In addition, Parallel ESSL will leverage the high performance provided by ESSL for AIX for processor computations.

Choosing a Parallel ESSL Library

The Parallel ESSL library you may use depends on:

  1. Your choice of MPI library.
  2. The type of nodes you are running on.


Table 29. Parallel ESSL Libraries used with the MPI Libraries

Node Type MPI Library Parallel ESSL Library
SMP(UMSMUS) or Serial MPI Signal-Handling Library Parallel ESSL Serial Library
SMP(UMSMUS) or Serial MPI Threads Library Parallel ESSL SMP Library(IYCTSM)

Notes:

  1. Users may specify multiple user-space message-passing tasks per SMP node. For example, you could specify the number of user-space tasks per adapter equal to the number of CPUs in your SMP node.

  2. If you choose to spawn multiple user-space tasks per SMP node, you may consider explicitly setting the number of threads used by the Parallel ESSL SMP Library per message-passing task, by setting the environment variable XLSMPOPTS or OMP_NUM_THREADS. For further details, see the XLF or C for AIX manuals.

Parallel ESSL Techniques

The following techniques are used by most subroutines to optimize performance:

The following items also impact performance. They generally depend on the specific parallel routine being called. See the subroutine description in the reference section for any exceptions to these rules.


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