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

     pl-mpi - distributed Prolog environment

     pl-mpi [-dt] [-d file] [-g goal]

     The pl-mpi utility deploys a Prolog environment with custom predicates
     for distributed computing.  Upon initialisation, it launches either a
     Prolog interactive session or a given target.  One then operates the Pro-
     log session as if launched with the ordinary Prolog interpreter.  pl-mpi
     must be launched within your operating system's MPI environment, likely
     by means of mpirun(1) or similar tool.

     The options are as follows:

     -d       Enable debugging.  This will output debugging data to the file
              debug-rank.txt, where ``rank'' is the node's MPI rank.  Existing
              files will be overwritten.

     -t       Trace execution.  Produces a number of files in the working di-
              rectory for processing (with format dump-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 dur-
              ing execution.  Existing trace files will be overwritten.

     -g goal  Execute goal instead of launching an interactive Prolog session.
              Exits when execution completes.

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

     Start with 8 compute nodes:

           mpirun -np 10 pl-mpi

     Start with 8 compute nodes and process the given mpidist predicate with-
     out launching the interactive Prolog prompt:

           mpirun -np 10 pl-mpi -g 'mpidist(test, [1, 2, 3, mpirun0 0mpirun1
           1mpirun2 2mpirun3

     The pl-mpi utility makes obsolete dnlp(1), a system for statically
     scheduling the distribution of Prolog predicates amongst participating

     The pl-mpi 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-test(1), pl-mpi-dtime(1), pl-mpi-gdtime(1), mpirun(1),

OpenBSD 4.0                    December 22, 2006                             1