Pils is a synthetic code which allows to play with multiple MPI ranks, each of them with a different work load. The program allows you to configure the work load per rank, the grain of a parallel region, the number of steps to execute, etc.
This program is an isolated version of the pils test included within the DLB distribution. Further information on https://pm.bsc.es/dlb.
In order to build the program, you will need to check the variables defined
within the Makefile
file and run:
$ make
The build system will generate a binary called pils
.
The pils program accepts several parameters to configure the execution. You should run:
$ <mpi-launcher> [mpi-options] pils [options]
Where pils options are:
-l, --loads <n1,n2*m,...> comma separated values of load per rank.
-f, --loads-file <file> file path with load per rank, separated in lines.
-g, --grain <double> parallelism grain parameter: (0.0,1.0].
-i, --iterations <n> number of iterations.
-t, --task-duration <n> task duration in microseconds.
-v, --verbose print iteration times per process.
-h, --help print this help.
For your convenience, the main directory contains a run.sh
script which
executes the program with default options. Check the variables defined in the
header to modify its behaviour.
While executing the program it will print to the standard output the configuration, the estimated load balance, times obtained per iteration, and the total elapsed time.