文档

tocBytes

读取自调用以来传输了多少字节ticBytes

描述

例子

tocBytes (读取自调用以来传输了多少字节ticBytes。该函数显示并行中每个工作线程之间传输的字节总数在最近一次执行之后ticBytes

使用ticBytes),tocBytes)函数一起测量并行池中有多少数据被传输给和从并行池中传输出去。你可以使用ticBytestocBytes在执行并行语言结构和函数时,例如parfor,spmd,或parfeval。使用ticBytestocBytes为了传递更少的数据并优化代码。

例子

字节= tocBytes (返回并行中每个工作线程之间传输的字节数

例子

tocBytes (,startState显示并行中传输的字节总数ticBytes生成的命令startState

例子

字节= tocBytes (,startState返回并行中每个工作线程之间传输的字节数ticBytes生成的命令startState

例子

全部折叠

使用tocBytes (gcp)开始测量传输的数据量。

A = 0;B =兰特(100);开始= ticBytes(gcp);parforI = 1:100 a = a + sum(b(:, I));结束tocBytes (gcp)开始
使用“本地”配置文件启动并行池(parpool)…连接4个工人。BytesSentToWorkers BytesReceivedFromWorkers __________________ ________________________ 1 42948 7156 2 36548 7156 3 27500 4500 4 27500 4500 Total 1.345e+05 23312

worker可能传输不同数量的字节,因为每个worker可能执行不同数量的循环迭代。

使用字节= tocBytes(gcp)测量传输的数据量。

ticBytes (gcp);spmd兰特(100);结束字节= tocBytes(gcp)
字节= 13448 1208 13448 1208 13448 1208 13448 1208

worker传输相同数量的字节,因为每个worker执行相同数量的循环迭代。

运行时传输的最小和平均字节数parfor嵌套在循环。

每次10次;minBytes = Inf;ticBytes (gcp);% ticBytes,对1ii=1:REPS a = 0;B =兰特(100);开始= ticBytes(gcp)% ticBytes,对2parforI = 1:100 a = a + sum(b(:, I));结束字节= tocBytes(gcp,开始)% tocBytes, pair 2minBytes = min(bytes, minBytes)结束averageBytes = tocBytes(gcp)/REPS% tocBytes, pair 1

注意,嵌套parfor-循环-loop可能会因为开销而变慢,参见将嵌套for-Loops转换为parfor-Loops

输入参数

全部折叠

并行池,通常由gcp,如果你想要当前的并行池。否则,使用parpool创建一个新池。

例子:tocBytes (gcp);

返回的起始状态ticBytes(池)

例子:startState = ticBytes(gcp);

输出参数

全部折叠

传输的字节数,作为大小的矩阵返回numWorkersx 2。这个矩阵包含并行池中每个工作线程之间传输的字节数。字节返回不带标题的字节值。使用tocBytes(池)在命令窗口输出中获取发送和接收标题、工人编号和以字节为单位的值,而无需输出参数。

例子:字节= tocBytes(池);

在R2016b中引入