| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This section explains how to configure Dynare for parallelizing some tasks which require very little inter-process communication.
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.
The following routines are currently parallelized:
Note that creating the configuration file is not enough in order to
trigger parallelization of the computations: you also need to specify
the parallel option to the dynare command. For more
details, and for other options related to the parallelization engine,
see see section Dynare invocation.
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):
We now turn to the description of the configuration directives:
Description
When working in parallel, [cluster] 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.
Options
Name = CLUSTER_NAMEThe reference name of this cluster.
Members = NODE_NAME NODE_NAME …A list of nodes that comprise the cluster. Each node is separated by
at least one space. At the current time, all nodes specified by
Members option must run the same type of operating system
(i.e. all Windows or all Linux/Mac OS X). The platform versions
don’t matter (i.e. you can mix Windows XP and 7).
Example
[cluster] Name = c1 Members = n1 n2 n3 |
Description
When working in parallel, [node] 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.
Options
Name = NODE_NAMEThe reference name of this node.
CPUnbr = INTEGER | [INTEGER:INTEGER]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 Mac OS X, if a range is passed the same number of processors will be used but the range will be adjusted to begin at one.
ComputerName = COMPUTER_NAMEThe name or IP address of the node. If you want to run locally, use
localhost (case-sensitive).
UserName = USER_NAMEThe username used to log into a remote system. Required for remote runs on all platforms.
Password = PASSWORDThe password used to log into the remote system. Required for remote runs originating from Windows.
RemoteDrive = DRIVE_NAMEThe drive to be used for remote computation. Required for remote runs originating from Windows.
RemoteDirectory = PATHThe directory to be used for remote computation. Required for remote runs on all platforms.
DynarePath = PATHThe path to the ‘matlab’ subdirectory within the Dynare installation directory. The default is the empty string.
MatlabOctavePath = PATH_AND_FILEThe path to the MATLAB or Octave executable. The default value is
matlab.
SingleCompThread = BOOLEANWhether or not to disable MATLAB’s native multithreading. The default
value is true. Option meaningless under Octave.
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 CPUnbr = [2:4] UserName = usern RemoteDirectory = /home/usern/Remote DynarePath = /home/usern/dynare/matlab MatlabOctavePath = matlab |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Build Daemon user on December 13, 2011 using texi2html 1.82.