Visible to Intel only — GUID: GUID-3F61CBAF-4003-4E6A-BF48-78E8820CA47F
Visible to Intel only — GUID: GUID-3F61CBAF-4003-4E6A-BF48-78E8820CA47F
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.