调用算术类算子
算术类算子目前支持两方或三方计算(部分算子支持),两方计算节点分别设置为0计算节点和1计算节点,三方计算节点设置为0计算节点、1计算节点和2计算节点。
两方调用
- 通过DataGuard接口构造KCAL的配置信息,如通信接口和节点信息。
- 初始化算术类算子的函数组,算术类算子对外接口都在此函数组中。
- 初始化需要将配置信息配置到KCAL中。
- 设置所有节点信息。
- 交换种子信息。
- 选择对应的计算节点调用相应的接口。0计算节点:
- 调用两次分片接口,一次为接收1节点数据,另一次为分片自身数据并将分片数据的size发送给1计算节点。
- 拼接两次分片的结果作为计算接口的入参,要注意拼接顺序。
- 调用calculate接口,根据输入算子类型的不同进行不同的计算。
- 调用还原接口,获取最终的计算结果。
1计算节点- 调用两次分片接口,一次为分片自身数据并发送分片数据到0计算节点,另一次为接收0分片数据的size。
- 将分片的结果作为计算接口的入参。
- 调用calculate接口,根据输入算子类型的不同进行不同的计算。
- 调用还原接口,获取最终的计算结果。
三方调用
- 通过DataGuard接口构造KCAL的配置信息,如通信接口和节点信息。
- 初始化算术类算子的函数组,算术类算子对外接口都在此函数组中。
- 初始化需要将配置信息配置到KCAL中。
- 设置所有节点信息。
- 交换种子信息。
0计算节点:
- 调用两次分片接口,分片接口和两方分片接口保持一致。
- 拼接两次分片的结果作为计算接口的入参,要注意拼接顺序。
- 调用calculate接口,根据输入算子类型的不同进行不同的计算。
- 调用还原接口,获取最终的计算结果。
1计算节点:
- 调用两次分片接口,分片接口和两方分片接口保持一致。
- 将分片的结果作为计算接口的入参。
- 调用calculate接口,根据输入算子类型的不同进行不同的计算。
- 调用还原接口,获取最终的计算结果。
2计算节点:- 调用两次分片接口,分片接口和两方分片接口保持一致。
- 将分片的结果作为计算接口的入参。
- 调用calculate接口,根据输入算子类型的不同进行不同的计算。
- 调用还原接口,获取最终的计算结果。
父主题: 调用加速库