mapreducer - Define execution environment for mapreduce or tall arrays - MATLAB (original) (raw)
Define execution environment for mapreduce or tall arrays
Syntax
Description
mapreducer
, with no arguments, sets the global execution environment to be the default: a parallel pool if you have Parallel Computing Toolbox™ available, or else the local MATLAB® session. mapreducer
is a configuration function that changes how MATLAB executes mapreduce
algorithms and tall array calculations. Use this function to set, change, or store the execution environment to leverage Parallel Computing Toolbox, MATLAB Parallel Server™, or MATLAB Compiler™. If you have Parallel Computing Toolbox installed, then when you use the tall
ormapreduce
functions MATLAB automatically starts a parallel pool of workers (unless you have changed the default preferences).
Note
If no toolboxes are available, then mapreduce
algorithms and tall array calculations automatically run using the local MATLAB session, and it is unnecessary to specify configuration settings using mapreducer
to use these features. However, if you have Parallel Computing Toolbox, MATLAB Parallel Server, or MATLAB Compiler, then additional mapreducer
configuration options are available for running in parallel or deployed environments.
For more information, see mapreducer (Parallel Computing Toolbox) in the Parallel Computing Toolbox documentation, or mapreducer (MATLAB Compiler) in theMATLAB Compiler documentation.
mapreducer(0)
sets the global execution environment to be the local MATLAB session.
mapreducer([mr](#buf12b7-mr))
sets the global execution environment using a previously created MapReducer object, mr
.
[mr](#buf12b7-mr) = mapreducer(___)
also returns a MapReducer object using any of the previous syntaxes. You can use mr
as a fourth input argument to mapreduce
when you want to explicitly specify the execution environment.
[mr](#buf12b7-mr) = mapreducer(___,'ObjectVisibility','Off')
toggles the visibility of MapReducer object mr
. Use this syntax to create new MapReducer objects without affecting the global execution environment.
Examples
Switch Between Execution Environments
The command
automatically starts a parallel pool if Parallel Computing Toolbox is available. Otherwise, the execution environment is set to be the local MATLAB session.
You can force MATLAB to use the local session with the command
To query the current global execution environment, use the command
Output Arguments
mr
— Execution environment
object
Execution environment, returned as a MapReducer object.
If the ObjectVisibility
property of mr
is set to 'On'
(the default), then mr
defines the execution environment for all mapreduce
algorithms and tall array calculations. You can optionally pass mr
to the mapreduce
function to explicitly specify the execution environment, even if its ObjectVisibility
property is set to 'Off'
.
Tips
- When working with tall arrays, use
mapreducer
to set the execution environment prior to creating the tall array withtall(ds)
. Tall arrays are bound to the current global execution environment when they are constructed. If the global execution environment is subsequently changed, then the tall array becomes invalid and must be reconstructed.
Extended Capabilities
Automatic Parallel Support
Accelerate code by automatically running computation in parallel using Parallel Computing Toolbox™.
If you have Parallel Computing Toolbox installed, when you use mapreducer
, MATLAB automatically opens a parallel pool of workers on your local machine. Control parallel behavior with the parallel preferences, including scaling up to a cluster.
For details, see Run mapreduce on a Parallel Pool (Parallel Computing Toolbox) or Use Tall Arrays on a Parallel Pool (Parallel Computing Toolbox). For more general information about parallel computing, see Run MATLAB Functions with Automatic Parallel Support (Parallel Computing Toolbox).
Version History
Introduced in R2014b