pl-mpi-test(1)             OpenBSD Reference Manual             pl-mpi-test(1)

     pl-mpi-test - pl-mpi test and benchmark utility

     pl-mpi-test [-dtu] [-a async] [-p profile] [-r rounds] [-s size]

     The pl-mpi-test utility randomly executes a number of custom predicates
     in order to test the pl-mpi(1) system.  The pl-mpi-test must be launched
     within your operating system's MPI environment, likely by means of
     mpirun(1) or similar tool.

     The options are as follows:

     -u          Uniform size and collection limit: do not stagger the number
                 of collected results and the original data size (useful for

     -d          Enable profiling to ``data dumps''.  This will output debug-
                 ging data to the file dump-rank.txt, where ``rank'' is the
                 node's MPI rank.  Existing files will be overwritten.  These
                 files may be processed with pl-mpi-dtime(1) and

     -a async    Maximum number of concurrent asynchronous requests, should
                 the text fixture happen to be an asynchronous one.

     -p profile  Specify a running profile.  These define behaviour during
                 tests.  Defaults to a mix.  Different values will produce
                 dramatically differing run-time profiles.  Multiple profiles
                 may be comma-separated.

                 burn    Running profile that executes a large number of pro-
                         cessor-intensive operations, namely large-scale inte-
                         ger multiplication, after standard argument testing.
                         Useful for claiming full system resources.

                 wait    Executes sleep(3) for a random amount of time, after
                         standard argument testing.  Useful for testing a
                         large number of nodes without claiming dramatic sys-
                         tem resources.

                 fast    Tests a predicate that does nothing (quickly).  Use-
                         ful for testing system throughput.

     -t          Trace execution.  Produces a number of files in the working
                 directory for processing (with format trace-rank.txt, where
                 ``rank'' is the MPI rank of a processing node).  This may add
                 significant I/O overhead, as files are write-only appended
                 during execution.  Existing trace files will be overwritten.

     -r rounds   Executes a certain number of times (default is to run indefi-
                 nitely).  If set to 0, this triggers the default behaviour.

     -s size     Maximum number of elements in a single predicate test (actual
                 number will be a random number less than this, but greater
                 than one).  Must be greater than or equal to one.

     Environment variables are not used by the pl-mpi-test utility itself, but
     your MPI or Prolog installations may make use of them.

     Run 1000 random tests:

           mpirun -np 10 pl-mpi-test -r 1000

     Run continuous fast and burn tests while processing equal input and out-
     put counts and creating profile dumps:

           mpirun -np 10 pl-mpi-test -u -p fast,burn -d

     The pl-mpi-test utility was developed at the University of Latvia's IMCS
     by Kristaps Dzonsons <>.

     This utility must be executed on at least three MPI nodes (one of which
     is the main Prolog interpreter, one the job arbitrator, and one compute
     node).  Adding additional nodes will increase computing power.

     dnlp(1), pl-mpi(1), pl-mpi-dtime(1), pl-mpi-gdtime(1), mpirun(1), pl(1)

OpenBSD 4.0                    December 22, 2006                             2