<?xml version="1.0"?>
<benchmark>
    <title>Custom application</title>
    <version>1.0</version>
    <description>Rules for tuning library for best performance with custom application as kernel.</description>
    <weight>1.0</weight>
    <suite>
        <test title="Tuning I_MPI_ADJUST_* family" weight="1.0">
            <description>test for tuning options from I_MPI_ADJUST_* family</description>
            <executable>$test</executable>
            <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" />
                <option type="global"  name="I_MPI_RDMA_EAGER_THRESHOLD" />
                <option type="global"  name="I_MPI_ADJUST_REDUCE" />
                <option type="global"  name="I_MPI_ADJUST_GATHER" />                
                <option type="global"  name="I_MPI_ADJUST_SCATTER" />                
                <option type="global"  name="I_MPI_ADJUST_ALLREDUCE" />
                <option type="global"  name="I_MPI_ADJUST_REDUCE_SCATTER" />
                <option type="global"  name="I_MPI_ADJUST_ALLGATHER" />
                <option type="global"  name="I_MPI_ADJUST_ALLGATHERV" />
                <option type="global"  name="I_MPI_ADJUST_ALLTOALL" />                
                <option type="global"  name="I_MPI_ADJUST_BCAST" />
                <option type="global"  name="I_MPI_ADJUST_BARRIER" />
            </options_filter>
            <result
                source="brtime"

                paramGroup=""
                paramTitle=""
                paramTarget="min"

                paramLeftMarginGroup=""
                paramRightMarginGroup=""

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle=""

                iterationCompare="min"

                startline=""
                dataline=""
                solidatalines="1"
            />
        </test>
        <test title="Tuning the best range options" weight="1.0">
            <description>test for tuning the best range options</description>
            <executable>$test</executable>
            <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" />
                <option type="global"  name="I_MPI_SPIN_COUNT" />
                <option type="global"  name="I_MPI_RDMA_RNDV_BUF_ALIGN" />
                <option type="global"  name="I_MPI_ADJUST_SCATTERV" />
        	<option type="global"  name="I_MPI_ADJUST_GATHERV" />
        	<option type="global"  name="I_MPI_ADJUST_ALLTOALLV" />
            </options_filter>
            <result
                source="brtime"

                paramGroup=""
                paramTitle=""
                paramTarget="min"

                paramLeftMarginGroup=""
                paramRightMarginGroup=""

                paramChooseMode="delta"
                paramDiffDelta="0.001"

                msgGroup="0"
                msgTitle=""

                iterationCompare="min"

                startline=""
                dataline=""
                solidatalines="1"
            />
        </test>
    </suite>
</benchmark>