为mapreduce和高数组定义并行执行环境
mapreduce
定义的执行环境地图还原
或高阵列。使用mapreduce
函数更改执行环境以使用不同的集群或在串行和并行开发之间切换。
默认的执行环境使用本地MATLAB®会话或并行池(如果您有parallel Computing Toolbox™)。如果您安装了并行计算工具箱,当您使用高
或地图还原
函数时,MATLAB会自动启动并行工作池,除非您更改了默认首选项。默认情况下,并行池使用本地worker,通常为机器中的每个核心使用一个worker。如果你关掉自动创建并行池选项,则如果要使用并行资源,则必须显式启动池。请参阅指定您的并行首选项.
当使用高数组时,使用mapreduce
在创建高数组之前设置执行环境。高数组在构造时被绑定到当前全局执行环境。如果您随后更改了全局执行环境,那么tall数组是无效的,必须重新创建它。
请注意
在MATLAB中,不需要使用指定配置设置mapreduce
因为地图还原
算法和阵列计算仅在本地MATLAB会话中自动运行。如果您还有并行计算工具箱,则可以使用附加的mapreduce
本页列出的用于并行运行的配置选项。如果您有MATLAB编译器™, 然后你可以使用单独的mapreduce
用于在部署环境中运行的配置选项。
mapreduce
如果没有输入参数,则创建新的mapreduce
执行环境的所有默认值,并将此设置为当前值地图还原
或高数组执行环境。您可以使用gcmr
以获取当前的mapreducer配置。
如果您有默认首选项(自动创建并行池已启用),并且您尚未打开并行池,则mapreduce
使用默认的集群配置文件打开一个池,设置gcmr
到基于此池的mapreducer,并返回此mapreducer。
如果已打开并行池,则mapreduce
集gcmr
返回到基于当前池的mapreducer,并返回此mapreducer。
如果你禁用了自动创建并行池,你还没有打开一个平行池,那么mapreduce
集gcmr
到基于本地MATLAB会话的mapreducer,以及mapreduce
返回此mapreducer。
mapreduce (0)
指定地图还原
或高
数组计算在MATLAB客户端会话中运行,不使用任何并行资源。
mapreduce (
指定一个Hadoop®用于并行执行的集群hadoopCluster
)地图还原
或高数组。hadoopCluster
是一个parallel.cluster.Hadoop
对象。
mapreduce (
设置全局执行环境先生
)地图还原
或高数组,使用以前创建的MapReducer对象,先生
,如果是ObjectVisibility
财产是“上”
.
返回指定执行环境的MapReducer对象。您可以定义几个MapReducer对象,通过将一个对象作为输入参数传递给先生
=映射还原器(___)地图还原
或mapreduce
.
隐藏MapReducer对象的可见性,先生
=映射还原器(___、“ObjectVisibility”、“了”)先生
,使用任何前面的语法。使用此语法创建新的MapReducer对象,而不影响全局执行环境地图还原
.
如果要以串行方式开发,而不使用本地工作程序或指定的群集,请输入:
mapreduce (0);
mapreduce
若要在创建高数组之后更改执行环境,则高数组无效,必须重新创建它。要再次使用本地工作人员或指定的集群,请输入:mapreduce (gcp);
mapreduce
与自动创建并行池关掉如果您已关闭自动创建并行池选项,则如果要使用并行资源,则必须显式启动池。请参阅指定您的并行首选项获取详细信息。
下面的代码展示了如何使用mapreduce
没有输入参数来设置本地MATLAB会话的执行环境,然后指定一个本地并行池:
>>mapreducer>>parpool(“本地”,1);
正在使用“本地”配置文件启动并行池(parpool)…连接到1个工作线程。
>>聚集(最小(高(兰特(1000,1)))
使用本地MATLAB会话计算高表达式:在0秒内完成的计算= 5.2238e-04
使用高数组开发算法的好处之一是,您只需要编写一次代码。你可以在本地开发你的代码,然后使用mapreduce
以扩展并利用并行计算工具箱提供的功能,MATLAB并行服务器™,或MATLAB编译器,而不需要重写算法。