File: mplrs.1

package info (click to toggle)
lrslib 0.73-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 16,640 kB
  • sloc: ansic: 20,893; sh: 279; makefile: 252; perl: 97; csh: 51
file content (143 lines) | stat: -rw-r--r-- 5,323 bytes parent folder | download | duplicates (4)
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)