Chapter 6. PerfBoost

SGI PerfBoost uses a wrapper library to run applications compiled against other MPI implementations under the SGI Message Passing Toolkit (MPT) product on SGI platforms. This chapter describes how to use PerfBoost.

Using PerfBoost

To use PerfBoost with an SGI MPT MPI program, first load the perfboost environmental module. Then insert the perfboost command in front of the executable name along with the choice of MPI implementation to emulate. Launch the application with the SGI MPT mpiexec_mpt(1) or mpirun(1) command. Here is a list of MPI implementations and corresponding command line options:

MPI Implementation 

Command Line Option

 

Platform MPI 7.1+ 

-pmpi

HP-MPI  

-pmpi

Intel MPI 

-impi

OpenMPI 

-ompi

Here are some examples using perfboost:

module load mpt
module load perfboost

mpirun -np 32 perfboost -impi a.out arg1
mpiexec_mpt perfboost -pmpi b.out arg1
mpirun host1 32, host2 64 perfboost -impi c.out arg1 arg2

Environment Variables

The MPI environment variables that are documented in the MPI(1) man page are available to PerfBoost.

MPI environment variables that are not used by SGI MPT are currently not supported.

PERFBOOST_VERBOSE  

Setting the PERFBOOST_VERBOSE environment variable will enable a message when PerfBoost activates and also when the MPI application is completed through the MPI_Finalize() function. This message merely indicates that the PerfBoost library is active and also when the MPI application completes through the libperfboost. wrapper library.


Note: Some applications will re-direct stderr in which case the verbose messages may not appear in the application output.


MPI Supported Functions

SGI PerfBoost supports the commonly used elements of the C & Fortran MPI APIs. If a function is not supported, the job will be aborted and an error printed showing the name of the missing function. Please contact SGI Customer Support Center at https://support.sgi.com/caselist to get a missing function scheduled for addition to PerfBoost.