Parameters Controlling Intel(R) MPI Benchmarks

Parameters Controlling Intel(R) MPI Benchmarks#

Parameters controlling the default settings of the Intel(R) MPI Benchmarks are set by preprocessor definition in files: - IMB_settings.h for IMB-MPI1 and IMB-EXT benchmarks - IMB_settings_io.h for IMB-IO benchmarks

Both include files have identical structure, but differ in the predefined parameter values.

To enable the optional mode, define the IMB_OPTIONAL parameter in the IMB_settings.h/IMB_settings_io.h. After you change the settings in the optional section, recompile Intel(R) MPI Benchmarks.

The following table describes the Intel(R) MPI Benchmarks parameters and lists their values for the standard mode.

Parameter

Values in IMB_settings.h

Values in IMB_settings_io.h

Description

USE_MPI_INIT_THREAD

Not set

Not set

Set to initialize Intel(R) MPI Benchmarks by MPI_ Init_thread() instead of MPI_Init()

IMB_OPTIONAL

Not set

Not set

Set to activate optional settings

MINMSGLOG

0

0

The second smallest data transfer size is max(un it,2MINMSGLOG (the smallest size is always 0), where unit= sizeof(float) for reductions, unit=1 for all other cases.

You can override this parameter value using the -msglog flag.

MAXMSGLOG

22

24

The largest message size used is 2MAXMSGLOG

You can override this parameter value using the -msglog flag.

ITER_POLICY

imode_dynamic

The policy used for calculating the number of iterations.

You can override this parameter value using the ` -iter_policy` or -iter flag.

MSGSPERSAMPLE

1000

50

The maximum repetition count for all IMB-MPI1 benchmarks. You can override this parameter value using the -iter flag.

MSGS_NONAGGR

100

10

The maximum repetition count for non-aggregate benchmarks (relevant only for IMB-EXT). You can override this parameter value using the -time flag.

OVERALL_VOL

40 Mbytes

16*1048576

For all sizes smaller than OVERALL_VOL, the repetition count is reduced so that not more than OVERALL_VOL bytes are processed all in all. This permits you to avoid unnecessary repetitions for large message sizes. Finally, the real repetition count for message size X is MSGSPER SAMPLE (X=0),

max(1,min (MSGSPERSAMPLE, OVERALL_VOL/X)) (X>0)

Note that OVERALL_VOL does not restrict the size of the maximum data transfer. 2MAXMSGLOG OVERALL_VOL.

You can override this parameter value using the -mem flag.

SECS_PER_SAMPLE

10

Number of iterations is dynamically set so that this number of run time seconds is not exceeded per message length.

N_BARR

2

2

Number of MPI_Barrier for s ynchronization.

TARGET_CPU_SECS

0.01 seconds

0.1 seconds

CPU seconds (as float) to run concurrently with nonblocking benchmarks (irrelevant for IMB-MPI1)

In the following example, the IMB_settings_io.h. file has the IMB_OPTIONAL parameter enabled, so that user-defined parameters are used. I/O sizes of 32 and 64 MB, and a smaller repetition count are selected, extending the standard mode tables. You can modify the optional values as required.

#define FILENAME IMB_out
#define IMB_OPTIONAL
#ifdef IMB_OPTIONAL
#define MINMSGLOG  25
#define MAXMSGLOG  26
#define MSGSPERSAMPLE  10
#define MSGS_NONAGGR  10
#define OVERALL_VOL  16*1048576
#define SECS_PER_SAMPLE  10
#define TARGET_CPU_SECS 0.1 /* unit seconds */
#define N_BARR   2
#else
/*Do not change anything below this line*/
#define MINMSGLOG  0
#define MAXMSGLOG  24
#define MSGSPERSAMPLE  50
#define MSGS_NONAGGR  10
#define OVERALL_VOL 16*1048576
#define TARGET_CPU_SECS  0.1 /* unit seconds */
#define N_BARR   2
#endif

If IMB_OPTIONAL is deactivated, Intel(R) MPI Benchmarks uses the default standard mode values.