主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

ticBytes

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

    说明

    ticBytes(pool) 开始计算 pool 中传输到每个工作单元进程的字节数,以便之后 tocBytes(pool) 可以测量两次调用之间传输到每个工作单元进程的数据量(以及相关元数据)。

    结合使用 ticBytes (pool) 和 tocBytes (pool) 函数来测量并行池中往返于工作单元之间的数据传输量。您可以在执行并行语言构造和函数(例如 ticBytestocBytesparfor)时使用 spmdparfeval。使用 ticBytestocBytes 传递更少的数据并优化您的代码。

    示例

    startState = ticBytes(pool) 将状态保存到输出参量 startState,以便您可以同时记录多对 ticBytestocBytes 调用传输的字节数。使用 startState 的值作为后续调用 tocBytes 的输入参量。

    示例

    示例

    全部折叠

    a = 0;
    b = rand(100);
    ticBytes(gcp);
    parfor i = 1:100
        a = a + sum(b(:, i));
    end
    tocBytes(gcp)
    
    Starting parallel pool (parpool) using the 'Processes' profile ... 
    connected to 4 workers.
    
                 BytesSentToWorkers    BytesReceivedFromWorkers
                 __________________    ________________________
    
        1            42948              7156                   
        2            36548              7156                   
        3            27500              4500                   
        4            27500              4500                   
        Total    1.345e+05             23312                   
    

    工作单元可能会传输不同数量的字节,因为每个工作单元可能执行不同数量的循环迭代。

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

    REPS = 10;   
    minBytes = Inf;   
    ticBytes(gcp);  % ticBytes, pair 1
    
    for ii=1:REPS
       a = 0;
       b = rand(100);
       startS = ticBytes(gcp)  % ticBytes, pair 2  
       parfor i = 1:100
           a = a + sum(b(:, i));
       end
       bytes = tocBytes(gcp, startS)  % tocBytes, pair 2  
       minBytes = min(bytes, minBytes)
    end
    
    averageBytes = tocBytes(gcp)/REPS  % tocBytes, pair 1 
              

    请注意,将 parfor 循环嵌套在 for 循环中可能会因开销而变慢,请参阅 将嵌套的 for 循环转换为 parfor 循环

    输入参数

    全部折叠

    并行池,指定为 parallel.ProcessPoolparallel.ClusterPool 对象。

    要创建进程池或集群池,请使用 parpool

    示例: pool = parpool('Processes');

    输出参量

    全部折叠

    起始状态作为对 tocBytes 的后续调用的输入参量返回。

    示例: startState = ticBytes(gcp);

    扩展功能

    全部展开

    版本历史记录

    在 R2016b 中推出

    另请参阅

    | | | | |