文档帮助中心文档
parfor
选项parfor,如分区迭代
选择= parforOptions(集群)
选择= parforOptions(池)
选择= parforOptions (___、“RangePartitionMethod”方法)
选择= parforOptions (___“RangePartitionMethod”,“固定”,“SubrangeSize”, n)
选择= parforOptions(集群,___、名称、值)
例子
选择= parforOptions (集群)创建一组选项parfor这指示parfor工人在执行语句集群没有创建一个平行的池。相反,parfor提交独立集群任务执行循环体。parfor根据分区和分配迭代工人NumWorkers属性,可用工人的数量集群。
选择= parforOptions (集群)
选择
集群
NumWorkers
选择= parforOptions (池)创建一组选项parfor这指示parfor在工人在并行执行语句池池。
选择= parforOptions (池)
池
选择= parforOptions (___“RangePartitionMethod”,方法)使用方法定义如何分配parfor循环迭代子范围。子界是一个连续的块循环迭代parfor执行工人作为一个整体。
选择= parforOptions (___“RangePartitionMethod”,方法)
方法
选择= parforOptions (___“RangePartitionMethod”,“固定”,“SubrangeSize”,n)分parfor循环迭代子范围的大小不能超过n。
选择= parforOptions (___“RangePartitionMethod”,“固定”,“SubrangeSize”,n)
n
选择= parforOptions (集群,___,名称,值)使用集群对象的指定附加选项集群。
选择= parforOptions (集群,___,名称,值)
名称,值
全部折叠
创建一个集群对象使用parcluster功能,并创建一个组parfor选项。默认情况下,parcluster使用默认集群配置文件。检查你的MATLAB®上默认的配置家选项卡,在平行>选择一个默认的集群。
parcluster
集群= parcluster;选择= parforOptions(集群);
运行parfor直接计算集群,通过parfor选择第二个输入参数parfor。
当你使用这种方法,parfor可以使用集群中所有可用的工人,和工人尽快可用循环完成。这种方法也很有用,如果集群不支持并行池。金宝app
值= [7 3 3 3 3 3 3];parfor(i = 1:元素个数(值),选择)了(我)=规范(pinv(兰德(值(i) * 1 e3)));结束
使用这种语法在大型集群上运行parfor没有消费工人超过必要的。
你可以控制parfor迭代分为子范围的工人parforOptions。控制的范围分区可以优化性能parfor循环。为获得最佳性能,尝试分成子范围是:
parforOptions
足够大,计算时间很大的开销相比调度子范围
足够小,有足够的子范围让所有工人忙碌
固定大小的迭代分割成子范围,创建一个组parfor选项,设置“RangePartitionMethod”来“固定”,并指定一个附属的区域大小“SubrangeSize”。
“RangePartitionMethod”
“固定”,
“SubrangeSize”
选择= parforOptions (parcluster,“RangePartitionMethod”,“固定”,“SubrangeSize”2);
通过parfor选择第二个输入参数parfor。在这种情况下,parfor迭代分为三组2迭代。
2
值= [3 3 3 3 3 3];parfor(i = 1:元素个数(值),选择)了(我)=规范(pinv(兰德(值(i) * 1 e3)));结束
迭代分割成不同大小的子范围,通过一个函数句柄“RangePartitionMethod”名称-值对。这个函数必须要返回一个向量的子范围的大小,数量和金额必须等于迭代。这个语法的更多信息,请参阅方法。
选择= parforOptions (parcluster,“RangePartitionMethod”@ (n, nw) [2 1 1 2]);
通过parfor选择第二个输入参数parfor。在这种情况下,parfor迭代分为四组2,1,1,2迭代。
1
值= [3 3 7 7 3 3];parfor(i = 1:元素个数(值),选择)了(我)=规范(pinv(兰德(值(i) * 1 e3)));结束
您可以使用parforOptions运行parfor一个平行的工人池。使用这种方法,当你想预订一个固定数量的工人parfor -循环。你也可以有更好的控制parfor分裂迭代的工人。
parfor -
创建一个平行池使用parpool函数。默认情况下,parpool使用默认集群配置文件。检查你的默认的配置在MATLAB家选项卡,在平行>选择一个默认的集群。创建一组parfor选择与平行池对象,并指定选项。例如,指定固定大小的子范围2分区方法。
parpool
p = parpool;
开始平行池(parpool)使用“本地”概要文件…连接到平行池(工人数量:6)。
选择= parforOptions (p,“RangePartitionMethod”,“固定”,“SubrangeSize”2);
通过parfor第二个输入参数的选择parfor函数。parfor运行的循环体平行池和分裂迭代选择。
当您运行parfor有或没有一个平行的池,默认情况下,MATLAB执行自动循环体依赖性分析。MATLAB转让所需的文件,工人们在运行语句之前。在某些情况下,您必须显式地将这些文件传输到工人。有关更多信息,请参见识别项目依赖关系。
如果您使用的是parfor没有一个平行的池,使用parforOptions转让文件。创建一个集群对象使用parcluster选择。创建一组parfor选择与集群对象使用parforOptions函数。将文件转移到工人,使用“AttachedFiles”名称-值对。
“AttachedFiles”
集群= parcluster;选择= parforOptions(集群,“AttachedFiles”,{“myFile.dat”});
通过parfor第二个输入参数的选择parfor函数。工人们可以在循环体访问所需的文件。
parfor(选择i = 1:2) M = csvread (“myFile.dat”0 2 *(张)[0,2 *(张),1,1 + 2 *(张)]);(我)=规范(兰特(装天花板(规范(M)) * 1 e3));结束
parallel.Cluster
集群中,指定为一个parallel.Cluster的对象,parfor运行。要创建一个集群对象,使用parcluster函数。
例子:选择= parforOptions (parcluster(当地的));
选择= parforOptions (parcluster(当地的));
数据类型:parallel.Cluster
子范围大小固定分区方法,指定为一个正整数。你必须设置名称-值对“RangePartitionMethod”来“固定”。
“固定”
例子:选择= parforOptions(集群、“RangePartitionMethod”“固定”,“SubrangeSize”, 5);
选择= parforOptions(集群、“RangePartitionMethod”“固定”,“SubrangeSize”, 5);
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
单
双
int8
int16
int32
int64
uint8
uint16
uint32
uint64
parallel.Pool
平行池,指定为一个parallel.Pool的对象,parfor运行。要创建一个平行的池,使用parpool函数。
例子:选择= parforOptions (parpool(当地的));
选择= parforOptions (parpool(当地的));
数据类型:parallel.Pool
“汽车”
范围分区方法,指定为以下之一:
“汽车”——这种方法将循环划分为不同大小的子范围。它试图实现各种性能好parfor循环。
“固定”——分区parfor循环到固定大小的子范围。您必须指定每个子范围的大小通过设置“SubrangeSize”名称-值对。
函数处理——使用一个函数处理循环迭代划分为子范围。函数必须的形式大小= customFcn (n、西北),在那里n的迭代次数吗parfor循环,西北是工人的数量可以执行循环。当循环运行在一个平行的游泳池,西北是工人的数量在并行池。当循环运行时使用一个集群,西北是NumWorkers集群的属性。customFcn返回一个向量大小子范围的大小。这个向量必须满足(大小)= = n。有关函数处理的更多信息,请参阅创建函数处理。
大小= customFcn (n、西北)
西北
customFcn
大小
(大小)= = n
例子:选择= parforOptions(集群、“RangePartitionMethod”“固定”,“SubrangeSize”, 10);
选择= parforOptions(集群、“RangePartitionMethod”“固定”,“SubrangeSize”, 10);
例子:选择= parforOptions(集群、“RangePartitionMethod”@ (n, nw) [2、4、4、n-10]);
选择= parforOptions(集群、“RangePartitionMethod”@ (n, nw) [2、4、4、n-10]);
数据类型:字符|function_handle
字符
function_handle
指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家。
的名字
价值
Name1, Value1,…,的家
选择= parforOptions(集群、“AttachedFiles”{' myFile.dat '});
“AutoAddClientPath”
真正的
假
标志指定如果客户端路径添加到工作路径,指定为逗号分隔组成的AutoAddClientPath和真正的或假。
AutoAddClientPath
数据类型:逻辑
逻辑
“AutoAttachFiles”
国旗使依赖性分析parfor循环体并将所需的文件传输到工人,指定为逗号分隔组成的AutoAttachFiles和真正的或假。
AutoAttachFiles
文件转移到工人,指定为逗号分隔组成的AttachedFiles一个特征向量,字符串,字符串数组,数组或单元的特征向量。
AttachedFiles
例子:{“myFun.m”、“myFun2.m”}
{“myFun.m”、“myFun2.m”}
数据类型:字符|字符串|细胞
字符串
细胞
“AdditionalPaths”
路径添加到MATLAB®路径的工人parfor执行时,指定为逗号分隔组成的AdditionalPaths一个特征向量,字符串,字符串数组,数组或单元的特征向量。
AdditionalPaths
例子:{/一些/路径”、“另一个/路径'}
{/一些/路径”、“另一个/路径'}
parfor选择,作为一个返回parforOptions对象。指定的选项parfor循环,通过一组parfor第二个输入参数的选择parfor。
例子:parfor (i = 1:10, parforOptions (parcluster));(我)=我;结束
parfor (i = 1:10, parforOptions (parcluster));(我)=我;结束
parcluster|parfor|parpool
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室
得到审判现在