主要内容

使用高阵列并行池

如果你有并行计算工具箱™,你可以在你当地的MATLAB使用高数组®会话,或在本地平行池。您还可以运行计算集群上如果你有高的数组MATLAB并行服务器™安装。下面的例子使用了工人在当地集群在您的机器上。你可以在本地开发代码,然后扩大,利用并行计算工具箱提供的功能MATLAB并行服务器而无需重写你的算法。另请参阅大数据工作流使用高阵列和数据存储

创建一个数据存储,并将它转换成一个高大的表。

ds =数据存储(“airlinesmall.csv”);varnames = {“ArrDelay”,“DepDelay”};ds。SelectedVariableNames = varnames;ds。TreatAsMissing =“NA”;

如果你安装了并行计算工具箱,当您使用MATLAB函数,将自动启动一个平行的工人,除非你关闭默认平行池偏好。默认集群使用当地工人在您的机器上。

请注意

如果你想关掉自动打开一个并行池,改变你的平行的偏好。如果你关掉自动创建一个平行的池选项,那么您必须显式地如果你想启动一个池函数用于并行处理。看到指定您的平行的偏好

如果你有并行计算工具箱,您可以运行相同的代码是MATLAB高表的例子并自动并行执行它在本地机器的工人。

创建一个高表tt从数据存储中。

tt =高(ds)
开始平行池(parpool)使用过程的概要文件…连接到4工人。tt = M×2高表ArrDelay DepDelay说8 12 8 1 21 20 13 12 4 1 59 63 3 2 11 1::::

显示器显示的行数,,还不知道。是一个占位符,直到计算完成。

提取的到来推迟ArrDelay从高表。此操作将创建一个新的高数组变量用于后续计算。

一个= tt.ArrDelay;

你可以指定一系列操作高数组,不执行,直到你的电话收集。这样做使您能够批处理命令,可能需要很长时间。例如,计算平均值和标准偏差的到来。使用这些值来构造上、下阈值内的延迟1个标准差的意思。

m =意味着(,“omitnan”);s =性病(,“omitnan”);one_sigma_bounds = (m m m + s);

使用收集计算one_sigma_bounds,并将答案到内存中。

sig1 =收集(one_sigma_bounds)
评估高表达式使用并行池“过程”:通过1对1:在4.5秒完成评估在6.3秒完成sig1 = -23.4572 7.1201 37.6975

您可以指定多个输入和输出收集如果你想要评估几件事情。这样做比打电话要快收集分别在每个高数组。作为一个例子,计算最小和最大延迟到来。

[max_delay, min_delay] =收集(max ()、min ())
max_delay = 1014 min_delay = -64

如果你想发展序列,而不是使用本地工人或指定集群,输入下面的命令。

mapreduce (0);
如果你使用mapreduce改变后的执行环境创建一个高的数组,然后高数组是无效的,你必须重新创建它。再次使用当地工人或指定集群,输入下面的命令。
mapreduce (gcp);

请注意

的一个好处发展与高数组的算法是,你只需要编写的代码一次。你可以在本地开发代码,然后使用mapreduce集群规模,而无需重写你的算法。例如,看到的火花集群上使用高数组

另请参阅

|||||

相关的例子

更多关于