Tutorial

Using MPI Tuner for Intel® MPI Library on Linux* OS

Download PDF
ID 768652
Date 2/19/2016
Public

Most Common MPI Functions

If you have statistics on usage and performance of MPI functions, you can adjust the tuning scope according to your needs. You can find the correspondence of various tuning options with MPI functions in Intel® MPI Library Developer Guide before you start.

You can look at the most widely used MPI routines and go from simple to more complex functions. For example, you can perform point-to-point tuning before tuning collective operations.

Start with the P2P-sensitive options first:

  1. Specify the most common MPI functions under the option_set variable:

    $ export option_set=I_MPI_RDMA_TRANSLATION_CACHE\
    ,I_MPI_DAPL_RNDV_BUFFER_ALIGNMENT\
    ,I_MPI_SHM_FBOX_SIZE\
    ,I_MPI_SHM_CELL_SIZE\
    ,I_MPI_SSHM_BUFFER_SIZE\
    ,I_MPI_EAGER_THRESHOLD\
    ,I_MPI_DAPL_BUFFER_SIZE\
    ,I_MPI_INTRANODE_EAGER_THRESHOLD\
    ,I_MPI_DAPL_DIRECT_COPY_THRESHOLD
  2. Run a tuning session on option_set. This will create a set of optimal cluster settings based only on the environment variables provided above:

    $ mpitune ... -os $option_set
  3. Proceed to tuning collective operations:

    $ mpitune ... --collective-only

Once complete, merge both configuration files into a single one and use it with the -tune or -config runtime options.

NOTE:
To reduce the tuning time in future, you can specify the percentage improvement needed, or exclude the options that show acceptable performance.