<?xml version="1.0" encoding="UTF-8"?>
<benchmark>
    <title>Intel(R) MPI Benchmarks</title>
    <version>4.1</version>
    <description>as</description>
    <weight>1.0</weight>
    <suite>
        <test title="IMB Sendrecv" weight="1.0">
            <description>Sendrecv test from IMB benchmark for BRTIME mode</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Sendrecv</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="global"  name="I_MPI_DYNAMIC_CONNECTION" />
                <option type="global"  name="I_MPI_RDMA_SCALABLE_PROGRESS" />
                <option type="global"  name="I_MPI_RDMA_TRANSLATION_CACHE" />
                <option type="global"  name="I_MPI_WAIT_MODE" />
            </options_filter>
            <result
                source="brtime"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Sendrecv" weight="1.0">
            <description>Sendrecv test from IMB benchmark for OUTPUT mode</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Sendrecv</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="global"  name="I_MPI_EAGER_THRESHOLD" />
                <option type="global"  name="I_MPI_INTRANODE_EAGER_THRESHOLD" />
            </options_filter>
            <result
                source="thtime"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="heaviest"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB PingPong" weight="1.0">
            <description>PingPong test from IMB benchmark for OUTPUT mode</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() PingPong</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="global"  name="I_MPI_RDMA_EAGER_THRESHOLD" />
            </options_filter>
            <result
                source="thtime"

                paramGroup="2"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="2"

                paramChooseMode="heaviest"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Reduce" weight="1.0">
            <description>Reduce test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Reduce</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_REDUCE" />
            </options_filter>
            <result
                source="output"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Gather" weight="1.0">
            <description>Gather test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Gather</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_GATHER" />
            </options_filter>
            <result
                source="output"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Gatherv" weight="1.0">
            <description>Gatherv test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Gatherv</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_GATHERV" />
            </options_filter>
            <result
                source="brtime"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Scatter" weight="1.0">
            <description>Scatter test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Scatter</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_SCATTER" />
            </options_filter>
            <result
                source="output"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Scatterv" weight="1.0">
            <description>Scatterv test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Scatterv</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_SCATTERV" />
            </options_filter>
            <result
                source="brtime"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Allreduce" weight="1.0">
            <description>Allreduce test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Allreduce</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_ALLREDUCE" />
            </options_filter>
            <result
                source="output"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Reduce_scatter" weight="1.0">
            <description>Reduce_scatter test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Reduce_scatter</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_REDUCE_SCATTER" />
            </options_filter>
            <result
                source="output"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Allgather" weight="1.0">
            <description>Allgather test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Allgather</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_ALLGATHER" />
            </options_filter>
            <result
                source="output"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Allgatherv" weight="1.0">
            <description>Allgatherv test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Allgatherv</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_ALLGATHERV" />
            </options_filter>
            <result
                source="output"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Alltoall" weight="1.0">
            <description>Alltoall test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Alltoall</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_ALLTOALL" />
            </options_filter>
            <result
                source="output"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Alltoallv" weight="1.0">
            <description>Alltoallv test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Alltoallv</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_ALLTOALLV" />
            </options_filter>
            <result
                source="brtime"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Bcast" weight="1.0">
            <description>Bcast test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Bcast</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_BCAST" />
            </options_filter>
            <result
                source="output"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#bytes\s+\#repetitions).*"
                dataline="\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
        <test title="IMB Barrier" weight="1.0">
            <description>Barrier test from IMB benchmark</description>
            <executable>"$impi-bin\IMB-MPI1.exe" -npmin %proc% -iter 5 -msglen @msglen_file() Barrier</executable>
            <function title="msglen_file">range_file($msg-size-min:$msg-size-max:*:2;"value[endl]")</function>
            <launch_line>%mpiexec%  %globals%  %locals%  %executable%</launch_line>
            <requirements>
                <param name="hosts" value="1:-1" />
                <param name="perhost" value="1:-1" />
                <param name="processes" value="2:-1" />
                <param name="devices" value="rdssm,rdma,shm,ssm,sock,shm:dapl,shm:tcp,dapl,tcp,shm,shm:ofa,shm:tmi,ofa,tmi" />
            </requirements>
            <options_filter filter="exclusive">
                <option type="local"  name="I_MPI_ADJUST_BARRIER" />
            </options_filter>
            <result
                source="brtime"

                paramGroup="4"
                paramTitle="t[usec]"
                paramTarget="min"

                paramLeftMarginGroup="2"
                paramRightMarginGroup="3"

                paramChooseMode="heaviest"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle="Bytes"

                iterationCompare="min"

                startline=".*(\#repetitions).*"
                dataline="\s+(\d+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)"
                solidatalines="1"
            />
        </test>
    </suite>
</benchmark>

