1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
  
     | 
    
      '\" t
.\"     Title: MPLRS
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 06/07/2020
.\"    Manual: mplrs 0.71
.\"    Source: May 2020
.\"  Language: English
.\"
.TH "MPLRS" "1" "06/07/2020" "May 2020" "mplrs  7\&.1"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
mplrs \- Convert between representations of convex polyhedra (parallel version)\&.
.SH "SYNOPSIS"
.HP \w'\fB\ mpirun\ \fR\fBmplrs\fR\ 'u
\fB mpirun \fR \-np \fInum_proc\ \fR\fBmplrs\fR \fIinfile\fR [\fIoutfile\fR] [\fIoption\fR...]
.br
.SH "DESCRIPTION"
.PP
A polyhedron can be described by a list of inequalities (\fIH\-representation)\fR
or as by a list of its vertices and extreme rays (\fIV\-representation)\fR\&.
\fIlrs\fR
is a C program that converts a H\-representation of a polyhedron to its V\-representation, and vice versa\&.\ \& These problems are known respectively at the
\fIvertex enumeration\fR
and
\fIconvex hull problems\fR\&.
.PP
.SH "USAGE"
.PP
The number of processors
\fInum_proc\fR
specified to
\fBmpirun\fR
should be 4 or higher Unlike lrs
(1),
\fBmplrs\fR
does not support options after the end statement of the input file\&.
.SS "OPTIONS"
.PP
\fBmplrs\fR
supports the following options\&.
.RS 4
\fB\-id <initial depth>\fR [2] the depth of the original tree search to populate the job queue L
.RE
.RS 4
\fB\-maxc <maxcobases>\fR[50 (*scale)] a producer stops and returns all subtrees that are not leaves to L after generating\ \& maxc nodes\ \&\ \&\ \&
.RE
.RS 4
\fB\-maxd <depth>\fR[0] a producer returns all subtrees that are not leaves at depth maxd\&. Zero if not used
.RE
.RS 4
\fB\-lmin <int>\fR[3] if job queue |L|<np*lmin then the maxd parameter is set for all producers 
.RE
.RS 4
\fB\-lmax <int>\fR[lmin] if job queue |L|>np*lmax then then maxc is replaced by maxc*scale
.RE
.RS 4
\fB\-scale <int>\fR[100]used by lmax
.RE
.RS 4
\fB\-hist <file>\fRstore parallelization data in <file> for use by gnuplot, see below
.RE
.RS 4
\fB\-temp <prefix>\fR[/tmp/] store a temporary file for each process\&. Should be specified if /tmp not writeable\&. Using " \-temp\ \& \&./ " will write temporary files to the current directory
.RE
.RS 4
\fB\-freq <file>\fR store frequency data in <file> for use by gnuplot, see below
.RE
.RS 4
\fB\-stop <stopfile> \fR terminate mplrs if a file with name <stopfile> is created in the current directory
.RE
.RS 4
\fB\-checkp <checkpoint file>\fR if mplrs is terminated by \-stop or \-time then it can be restarted using this <checkpoint file> and \-restart
.RE
.RS 4
\fB\-restart <checkpoint file>\fR restart mplrs using previously created <checkpoint file>\&. If used with \-checkp file names should be different!
.RE
.RS 4
\fB\-time <seconds>\fR terminate mplrs after <seconds> of elapsed time
.RE
.RS 4
\fB\-countonly\fR don\*(Aqt output vertices/rays/facets, just count them
.RE
.RS 4
\fB\-maxbuf <n>\fR[500] controls maximum size of worker output buffers
.RE
.RS 4
\fB\-stopafter <n>\fR exit after approximately <n> cobases have been computed (no guarantee about how many vertices/rays/facets computed)
.RE
.RS 4
\fB\-redund\fR perform redundancy check of input file (also see redund )
.RE
The parameters
\fB\-hist\fR
and
\fB\-freq\fR
give interesting information about the degree of parallelization\&.
.SH "EXAMPLE"
.PP
Input file mp5\&.ine is run with 8 processors\&. The output file mp5\&.mplrs is in the distribution\&. This produced 378 subtrees that were enumerated in parallel using 6 producer cores,\ \& 1 core controlling the run and 1 core collecting the output\&.
.sp
.if n \{\
.RS 4
.\}
.nf
      mai20% mpirun \-np 8 mplrs mp5\&.ine mp5\&.mplrs
      *mplrs:lrslib v\&.6\&.0 2015\&.7\&.13(lrsgmp\&.h)8 processes
      *Copyright (C) 1995,2015, David Avis\ \&\ \& avis@cs\&.mcgill\&.ca
      *Input taken from mp5\&.ine
      *Output written to: mp5\&.mplrs
      *Starting depth of 2 maxcobases=50 maxdepth=0 lmin=3 lmax=3 scale=100
      *Phase 1 time: 0 seconds\&.
      *Total number of jobs: 378, L became empty 4 times
      *Totals: vertices=32 rays=0 bases=9041 integer\-vertices=16
      *Elapsed time: 1 seconds\&.
      2\&.285u 0\&.137s 0:01\&.86 129\&.5%\ \&\ \&\ \& 0+0k 0+9976io 36pf+0w
    
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.BR lrs (1),
.BR lrslib (1)
 
     |