主要内容

ticbytes.

开始计数字节在并行池中传输

描述

例子

ticbytes(水池开始计算传输到每个工作人员的字节数水池,所以之后tocbytes.(水池)可以测量转移到两个呼叫之间的每个工人的数据量。

使用ticbytes.水池) 和tocbytes.水池)一起函数以测量并行池中转移到工人和从工人转移的数据。您可以使用ticbytes.tocbytes.在执行并行语言构造和功能时,例如议案SPMD., 或者Parfeval.。用ticbytes.tocbytes.传递较少的数据并优化代码。

例子

startstate.= ticbytes(水池将状态保存到输出参数,startstate.,使您可以同时记录为多对传输的字节数ticbytes.tocbytes.呼叫。使用价值startstate.作为后续调用的输入参数tocbytes.

例子

全部收缩

a = 0;B =兰特(100);ticbytes(GCP);议案i = 1:100 a = a + sum(b(:, i));结尾tocbytes(gcp)
使用“本地”配置文件启动并行池(Parpool)...连接到4名工人。Bytessenttoworks BytesreceivedFrom Wherwworkers _________________________________________ 42948 7156 2 36548 4 27500 42500 427500 42500 427500 42500 42500 427500 42500 427500 42 27500 427500 47500 42500 42500 427500 47500 42500 427500 42 27500 42500 427500 42500 427500 42500 4 27500 42 27500 42500 42500 42500 4 27500 47500 42500 42500 4 27500 42500 423500 42500 4 27500 47500 425/42750 425/42750

工人可能会转移不同数量的字节,因为每个工作人员都可能执行不同数量的循环迭代。

在运行a时测量传输的最小和平均字节数议案循环嵌套在一个为了环形。

reps = 10;minbytes = INF;ticbytes(GCP);%ticbytes,一对1为了II = 1:REPS A = 0;B =兰特(100);starts = ticbytes(gcp)%ticbytes,配对2议案i = 1:100 a = a + sum(b(:, i));结尾字节= tocbytes(gcp,开始)%tocbytes,配对2minbytes = min(字节,minbytes)结尾scallybytes = tocbytes(gcp)/ reps%tocbytes,配对1

请注意,嵌套a议案- 在A中为了- 由于开销,可以缓慢,看看将嵌套循环嵌套转换为循环循环

输入参数

全部收缩

平行池,通常指定GCP.,如果您想要当前的并行池。否则,使用parpool.创建一个新池。

例子:ticbytes(GCP);

输出参数

全部收缩

启动状态作为后续调用的输入参数返回tocbytes.

例子:startstate = ticbytes(gcp);

介绍在R2016B.