prun [MODE] [PRUN_OPTIONS] [PROG_OPTIONS]
prun [-mode MODE] [PRUN_OPTIONS] -args “[PROG_OPTIONS]”
If not specified, the MODE is set to “default”. Other valid modes include the
Remark The later form with the explicity
-args should be used if you want stability through updates of pbench that may add new options.
The benchmark-run tool is a program that takes a specification of a set of runs of a given program, issues the specified runs to the system, and collects the output of the runs in a textual format. The tool relies on a certain formatting to be followed by the program that is specified to be run. The exact format is described below. The result of every run is recorded in the folder
The benchmark-run options selects the behavior of the program that collects data on benchmark runs of a specified program. The PRUN_OPTIONS can be zero or more of the following:
speedup. Defaults to
The program options PRUN_OPTIONS defines the behavior of the programs to be run by the tool. A program run is specified by a string of program options, which should be in the form, e.g.:
prog1,prog2 -n 34,35 -m 3.2,4.5
-prog prog1,prog2 -n 34,35 -m 3.2,4.5
The cross product of all comma separated values is considered by the
Remark The later form with the explicit
-prog should be used if you want stability through updates of pbench that may add new options.
Limitation If your program expects arguments whose name conflicts with some of the names reserved by
prun, such as
run, you will need to either change these names or set up a wrapper script around your program to rename the argument on the fly.
The following commands specify an experiment on the Fibonacci program. In the experiment, the program is run on two inputs, namely 39 and 40. Two algorithms are considered by the experiment, namely
cached versions. For each distinct configuration, two runs are performed by the experiment.
make prun make -C examples/basic fib prun -prog examples/basic/fib -algo recursive,cached -n 39,40 -runs 2
The following command specifies an experiment where a program is run multiple times varying number of processors. The run where zero is passed as the number of processors by convention indicates a run of the sequential program which is used to get the baseline run time.
prun -prog examples/others/speedup.sh -proc 0,1,2,3,4
The following command adds an extra dimension to the speedup experiment: in this case, the program under consideration is run using two alternative algorithms.
prun -prog examples/others/speedup.sh -proc 0,1,2,3,4 -algo foo,bar
The speedup mode is to be used for preparing data for
prun speedup [PRUN_OPTIONS] [-baseline COMMAND] [-parallel COMMAND] -args “[PROG_OPTIONS]”
where COMMAND includes the name of a binary possibly with arguments.
make prun prun speedup -baseline "examples/others/speedup.sh -algo foo -proc 0" -baseline-runs 1 -parallel "examples/others/speedup.sh -algo bar -proc 1,2,3,4" -runs 2