鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

调用算术类算子

算术类算子目前支持两方或三方计算(部分算子支持),两方计算节点分别设置为0计算节点和1计算节点,三方计算节点设置为0计算节点、1计算节点和2计算节点。

两方调用

  1. 通过DataGuard接口构造KCAL的配置信息,如通信接口和节点信息。
  2. 初始化算术类算子的函数组,算术类算子对外接口都在此函数组中。
  3. 初始化需要将配置信息配置到KCAL中。
  4. 设置所有节点信息。
  5. 交换种子信息。
  6. 选择对应的计算节点调用相应的接口。
    0计算节点:
    1. 调用两次分片接口,一次为接收1节点数据,另一次为分片自身数据并将分片数据的size发送给1计算节点。
    2. 拼接两次分片的结果作为计算接口的入参,要注意拼接顺序。
    3. 调用calculate接口,根据输入算子类型的不同进行不同的计算。
    4. 调用还原接口,获取最终的计算结果。
    1计算节点
    1. 调用两次分片接口,一次为分片自身数据并发送分片数据到0计算节点,另一次为接收0分片数据的size。
    2. 将分片的结果作为计算接口的入参。
    3. 调用calculate接口,根据输入算子类型的不同进行不同的计算。
    4. 调用还原接口,获取最终的计算结果。

三方调用

  1. 通过DataGuard接口构造KCAL的配置信息,如通信接口和节点信息。
  2. 初始化算术类算子的函数组,算术类算子对外接口都在此函数组中。
  3. 初始化需要将配置信息配置到KCAL中。
  4. 设置所有节点信息。
  5. 交换种子信息。

    0计算节点

    1. 调用两次分片接口,分片接口和两方分片接口保持一致。
    2. 拼接两次分片的结果作为计算接口的入参,要注意拼接顺序。
    3. 调用calculate接口,根据输入算子类型的不同进行不同的计算。
    4. 调用还原接口,获取最终的计算结果。

    1计算节点:

    1. 调用两次分片接口,分片接口和两方分片接口保持一致。
    2. 将分片的结果作为计算接口的入参。
    3. 调用calculate接口,根据输入算子类型的不同进行不同的计算。
    4. 调用还原接口,获取最终的计算结果。
    2计算节点:
    1. 调用两次分片接口,分片接口和两方分片接口保持一致。
    2. 将分片的结果作为计算接口的入参。
    3. 调用calculate接口,根据输入算子类型的不同进行不同的计算。
    4. 调用还原接口,获取最终的计算结果。