Skip to content
Snippets Groups Projects

swiftmpifakestepsim

The swiftmpifakestepsim program works much like swiftmpistepsim, except that it generates fake sizes messages and can be scaled to run on any number of MPI ranks.

Usage: ./swiftmpifakestepsim [vds:rgx:c:o:f:z] nr_messages logfile.dat
 options: -v verbose, -d data check, -s size (bytes/scale), 
         -f <1|2> randomize injection order, 1 == just sends, 2 == sends and recvs
        [-r uniform random from 1 to size, | 
        -r -g half gaussian random from 1 with 2.5 sigma size., | 
        -r -c <file> use cdf from file, size is a scale factor., |
        -r -o <file> use occurence sample of values in a file, size is a scale factor.,] 
        -x random seed
        -z output log in standard format, i.e. can be used as input to swiftmpistepsim

To use a fixed message size just use -s.

To use a uniform distribution in the range 1 to N:

   -s N -r

To use a half gaussian (so biased towards smaller packets) use:

   -r -s <scale> -g

The cdf option reads a simple text file with a sampling of a cumulative distribution function, where each line has three values, the minimum and maximum range of the current bin and the value. Note that the value column should be normalized into the range 0 to 1.

  -r -s <scale> -c <cdf_file>

The occurrence file has just one value per line, these should present the sizes of the packets, this is used to form a cdf:

  -r -s <scale> -o <occurrence_file>

Other options are useful to make sure that the randoms are different, -x and that they run in different order -f <1|2>.

The output from this program can be used as logs for the standard swiftmpistepsim program using -z flag. This drops some new fields.

Peter W. Draper 24 Apr 2023