Main Content

mapreducer

Define execution environment for mapreduce or tall arrays

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 or mapreduce 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 the MATLAB Compiler documentation.

example

mapreducer(0) sets the global execution environment to be the local MATLAB session.

mapreducer(mr) sets the global execution environment using a previously created MapReducer object, mr.

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 = 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

collapse all

The command

mapreducer

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

mapreducer(0)

To query the current global execution environment, use the command

gcmr

Output Arguments

collapse all

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 with tall(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

Version History

Introduced in R2014b