Main Content

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

spmdIndex

spmd 代码块中当前工作进程的索引

自 R2022b 起

    说明

    示例

    id = spmdIndex 返回当前在 spmd 代码块或通信作业中执行该函数的工作进程的索引。当工作进程运行 spmd 代码块或通信作业开始执行时,每个工作进程都会分配一个唯一的索引。

    spmdIndex 的值是 1 和当前 spmd 代码块或通信作业中运行的工作进程数量之间的整数。要获取运行当前 spmd 代码块的工作进程数量,请使用 spmdSize 函数。

    在并行池的持续期间,工作进程在每个 spmd 代码块内获得相同的值 id

    示例

    全部折叠

    查看 spmd 代码块中工作进程的索引。

    p = parpool('Threads',2);
    spmd
        spmdIndex
    end
    
    Worker 1: 
             1
      
    Worker 2: 
            2

    查看在相同的两个工作进程池 p 中运行的 parpool 循环中工作进程的索引。

    parfor a=1:4
        [a,spmdIndex]
    end
    ans =
         3     1
    ans =
         2     1
    ans =
         1     1
    ans =
         4     1
    

    输出参量

    全部折叠

    当前工作进程的索引,指定为正整数。此输入的值必须小于或等于当前 spmd 代码块或通信作业中 spmdSize 函数的输出。

    提示

    spmd 代码块中,因为您可以单独访问所有工作进程并控制工作进程执行的操作,所以每个工作进程都有一个唯一的索引。

    然而,在 parfor 循环内部,spmdIndex 在所有迭代中始终对所有工作进程返回值 1。

    扩展功能

    版本历史记录

    在 R2022b 中推出