Intel® MPI Benchmarks User Guide and Methodology Description

# Other Preparations for Benchmarking

## Window (IMB-EXT and IMB-RMA)

1. An `Info` is set and `MPI_Win_create` is called, creating a window of size `X` for `MY_COMM`.
2. For `IMB-EXT`, `MPI_Win_fence` is called to start an access epoch.

   ### Note

   `IMB-RMA` benchmarks do not require `MPI_Win_fence` since they use passive target communication mode.

## File (IMB-IO)

To initialize the IMB-IO file, follow these steps:

1. Select a file name. This parameter is located in the `IMB_settings_io.h` include file. In the case of a `multi-<MPI command>`, a suffix `_g<groupid>` is appended to the name. If the file name is per process, a second event suffix `_<rank>` is appended.

2. Delete the file if it exists: open the file with `MPI_MODE_DELETE_ON_CLOSE` and close it. The file is deleted.

3. Select a communicator to open the file: `MPI_COMM_SELF` for `S_benchmarks` and `P_[ACTION]_priv`.

4. Select a mode: `MPI_MODE_CREATE | MPI_MODE_RDWR`

5. Select an `info` routine as explained below.

## Info

Intel® MPI Benchmarks uses an external function `User_Set_Info` which you implement for your local system. The default version is:

    #include mpi.h
    void User_Set_Info ( MPI_Info* opt_info)
    #ifdef MPIIO
    {/*  Set info for all MPI_File_open calls  */
    *opt_info = MPI_INFO_NULL;
    }
    #endif
    #ifdef EXT
    {/*  Set info for all MPI_Win_create calls  */
    *opt_info = MPI_INFO_NULL;
    }
    #endif

The Intel® MPI Benchmarks has no assumptions or restrictions on the implementation of this routine.

## View (IMB-IO)

The file view is determined by the following settings:

- `disp = 0,`

- `datarep = native`

- `etype, filetypeas` defined in the IMB-IO Blocking Benchmarks section

- `info` as defined in the "Info" section above