/usr/share/doc/dynare/dynare.html/Parallel-Configuration.html is in dynare-doc 4.5.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996-2017, Dynare Team.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license can be found at http://www.gnu.org/licenses/fdl.txt. -->
<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Parallel Configuration (Dynare Reference Manual)</title>
<meta name="description" content="Parallel Configuration (Dynare Reference Manual)">
<meta name="keywords" content="Parallel Configuration (Dynare Reference Manual)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<link href="index.html#Top" rel="start" title="Top">
<link href="Command-and-Function-Index.html#Command-and-Function-Index" rel="index" title="Command and Function Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="The-Configuration-File.html#The-Configuration-File" rel="up" title="The Configuration File">
<link href="Windows-Step_002dby_002dStep-Guide.html#Windows-Step_002dby_002dStep-Guide" rel="next" title="Windows Step-by-Step Guide">
<link href="Dynare-Configuration.html#Dynare-Configuration" rel="prev" title="Dynare Configuration">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<a name="Parallel-Configuration"></a>
<div class="header">
<p>
Next: <a href="Windows-Step_002dby_002dStep-Guide.html#Windows-Step_002dby_002dStep-Guide" accesskey="n" rel="next">Windows Step-by-Step Guide</a>, Previous: <a href="Dynare-Configuration.html#Dynare-Configuration" accesskey="p" rel="prev">Dynare Configuration</a>, Up: <a href="The-Configuration-File.html#The-Configuration-File" accesskey="u" rel="up">The Configuration File</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Function-Index.html#Command-and-Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Parallel-Configuration-1"></a>
<h3 class="section">5.2 Parallel Configuration</h3>
<p>This section explains how to configure Dynare for parallelizing some
tasks which require very little inter-process communication.
</p>
<p>The parallelization is done by running several MATLAB or Octave
processes, either on local or on remote machines. Communication
between master and slave processes are done through SMB on Windows and
SSH on UNIX. Input and output data, and also some short status
messages, are exchanged through network filesystems. Currently the
system works only with homogenous grids: only Windows or only Unix
machines.
</p>
<p>The following routines are currently parallelized:
</p>
<ul>
<li> the posterior sampling algorithms when using multiple chains;
</li><li> the Metropolis-Hastings diagnostics;
</li><li> the posterior IRFs;
</li><li> the prior and posterior statistics;
</li><li> some plotting routines.
</li></ul>
<p>Note that creating the configuration file is not enough in order to
trigger parallelization of the computations: you also need to specify
the <code>parallel</code> option to the <code>dynare</code> command. For more
details, and for other options related to the parallelization engine,
see <a href="Dynare-invocation.html#Dynare-invocation">Dynare invocation</a>.
</p>
<p>You also need to verify that the following requirements are met by
your cluster (which is composed of a master and of one or more
slaves):
</p>
<dl compact="compact">
<dt>For a Windows grid</dt>
<dd>
<ul>
<li> a standard Windows network (SMB) must be in place;
</li><li> <a href="https://technet.microsoft.com/sysinternals/pstools.aspx">PsTools</a> must be installed in the path of the master Windows machine;
</li><li> the Windows user on the master machine has to be user of any other
slave machine in the cluster, and that user will be used for the
remote computations.
</li><li> Detailed step-by-step setup instructions can be found in See <a href="Windows-Step_002dby_002dStep-Guide.html#Windows-Step_002dby_002dStep-Guide">Windows Step-by-Step Guide</a>.
</li></ul>
</dd>
<dt>For a UNIX grid</dt>
<dd>
<ul>
<li> SSH must be installed on the master and on the slave machines;
</li><li> SSH keys must be installed so that the SSH connection from the master
to the slaves can be done without passwords, or using an SSH agent
</li></ul>
</dd>
</dl>
<p>We now turn to the description of the configuration directives. Note that comments in
the configuration file can be provided by separate lines starting with a hashtag (#).
</p>
<dl>
<dt><a name="index-_005bcluster_005d"></a>Configuration block: <strong>[cluster]</strong></dt>
<dd>
<p><em>Description</em>
</p>
<p>When working in parallel, <code>[cluster]</code> is required to specify the
group of computers that will be used. It is required even if you are
only invoking multiple processes on one computer.
</p>
<p><em>Options</em>
</p>
<dl compact="compact">
<dt><code>Name = <var>CLUSTER_NAME</var></code></dt>
<dd><p>The reference name of this cluster.
</p>
</dd>
<dt><code>Members = <var>NODE_NAME</var>[(<var>WEIGHT</var>)] <var>NODE_NAME</var>[(<var>WEIGHT</var>)] …</code></dt>
<dd><p>A list of nodes that comprise the cluster with an optional computing
weight specified for that node. The computing weight indicates how
much more powerful one node is with respect to the others (<i>e.g.</i>
<code>n1(2) n2(1) n3(3)</code>, means that <code>n1</code> is two times more
powerful than <code>n2</code> whereas <code>n3</code> is three times more powerful
than <code>n2</code>). Each node is separated by at least one space and the
weights are in parenthesis with no spaces separating them from their
node.
</p></dd>
</dl>
<p><em>Example</em>
</p>
<div class="example">
<pre class="example">[cluster]
Name = c1
Members = n1 n2 n3
[cluster]
Name = c2
Members = n1(4) n2 n3
</pre></div>
</dd></dl>
<dl>
<dt><a name="index-_005bnode_005d"></a>Configuration block: <strong>[node]</strong></dt>
<dd>
<p><em>Description</em>
</p>
<p>When working in parallel, <code>[node]</code> is required for every computer
that will be used. The options that are required differ, depending on
the underlying operating system and whether you are working locally or
remotely.
</p>
<p><em>Options</em>
</p>
<dl compact="compact">
<dt><code>Name = <var>NODE_NAME</var></code></dt>
<dd><p>The reference name of this node.
</p>
</dd>
<dt><code>CPUnbr = <var>INTEGER</var> | [<var>INTEGER</var>:<var>INTEGER</var>]</code></dt>
<dd><p>If just one integer is passed, the number of processors to use. If a
range of integers is passed, the specific processors to use (processor
counting is defined to begin at one as opposed to zero). Note that
using specific processors is only possible under Windows; under Linux
and macOS, if a range is passed the same number of processors will
be used but the range will be adjusted to begin at one.
</p>
</dd>
<dt><code>ComputerName = <var>COMPUTER_NAME</var></code></dt>
<dd><p>The name or IP address of the node. If you want to run locally, use
<code>localhost</code> (case-sensitive).
</p>
</dd>
<dt><code>Port = <var>INTEGER</var></code></dt>
<dd><p>The port number to connect to on the node. The default is empty,
meaning that the connection will be made to the default SSH port (22).
</p>
</dd>
<dt><code>UserName = <var>USER_NAME</var></code></dt>
<dd><p>The username used to log into a remote system. Required for remote
runs on all platforms.
</p>
</dd>
<dt><code>Password = <var>PASSWORD</var></code></dt>
<dd><p>The password used to log into the remote system. Required for remote
runs originating from Windows.
</p>
</dd>
<dt><code>RemoteDrive = <var>DRIVE_NAME</var></code></dt>
<dd><p>The drive to be used for remote computation. Required for remote runs
originating from Windows.
</p>
</dd>
<dt><code>RemoteDirectory = <var>PATH</var></code></dt>
<dd><p>The directory to be used for remote computation. Required for remote
runs on all platforms.
</p>
</dd>
<dt><code>DynarePath = <var>PATH</var></code></dt>
<dd><p>The path to the <samp>matlab</samp> subdirectory within the Dynare
installation directory. The default is the empty string.
</p>
</dd>
<dt><code>MatlabOctavePath = <var>PATH_AND_FILE</var></code></dt>
<dd><p>The path to the MATLAB or Octave executable. The default value is
<code>matlab</code>.
</p>
</dd>
<dt><code>NumberOfThreadsPerJob = <var>INTEGER</var></code></dt>
<dd><p>For Windows nodes, sets the number of threads assigned to each remote MATLAB/Octave run. The default
value is <code>1</code>.
</p>
</dd>
<dt><code>SingleCompThread = <var>BOOLEAN</var></code></dt>
<dd><p>Whether or not to disable MATLAB’s native multithreading. The default
value is <code>false</code>. Option meaningless under Octave.
</p>
</dd>
<dt><code>OperatingSystem = <var>OPERATING_SYSTEM</var></code></dt>
<dd><p>The operating system associated with a node. Only necessary when
creating a cluster with nodes from different operating systems.
Possible values are <code>unix</code> or <code>windows</code>. There is no default
value.
</p></dd>
</dl>
<p><em>Example</em>
</p>
<div class="example">
<pre class="example">[node]
Name = n1
ComputerName = localhost
CPUnbr = 1
[node]
Name = n2
ComputerName = dynserv.cepremap.org
CPUnbr = 5
UserName = usern
RemoteDirectory = /home/usern/Remote
DynarePath = /home/usern/dynare/matlab
MatlabOctavePath = matlab
[node]
Name = n3
ComputerName = dynserv.dynare.org
Port = 3333
CPUnbr = [2:4]
UserName = usern
RemoteDirectory = /home/usern/Remote
DynarePath = /home/usern/dynare/matlab
MatlabOctavePath = matlab
</pre></div>
</dd></dl>
<hr>
<div class="header">
<p>
Next: <a href="Windows-Step_002dby_002dStep-Guide.html#Windows-Step_002dby_002dStep-Guide" accesskey="n" rel="next">Windows Step-by-Step Guide</a>, Previous: <a href="Dynare-Configuration.html#Dynare-Configuration" accesskey="p" rel="prev">Dynare Configuration</a>, Up: <a href="The-Configuration-File.html#The-Configuration-File" accesskey="u" rel="up">The Configuration File</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Function-Index.html#Command-and-Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|