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

kpccl_egroup_return

src egroup向dest egroup归还executors。

接口定义

int kpccl_egroup_return(kpccl_egroup_h dest, kpccl_egroup_h src);

参数

参数名

类型

描述

输入/输出

dest

kpccl_egroup_h

被归还executor的egroup

输入/输出

src

kpccl_egroup_h

需要归还executor的egroup

输入/输出

返回值

  • 成功:返回被归还executor后的dest egroup大小
  • 失败:返回KPCCL_ERROR

示例

#include <stdio.h> 
 #include "kpccl.h" 
   
 int main() 
 { 
         int executor_num = kpccl_get_num_executors(); 
         int n1 = executor_num/2; 
         int n2 = executor_num - executor_num/2;
         int executors1[n1], executors2[n2]; 
         for (int i =0; i < n1; i++) {
             executors1[i] = i;
         } 
         for (int i =0; i < n2; i++) {
             executors2[i] = i + n1;
         } 
         kpccl_egroup_h egroup1 = kpccl_egroup_create(executors1, n1); 
         kpccl_egroup_h egroup2 = kpccl_egroup_create(executors2, n2); 
         printf("egroup2 : %d executors\n", n2); 
         n1 = kpccl_egroup_borrow(egroup1, egroup2); 
         n2 = kpccl_egroup_return(egroup2, egroup1); 
         printf("egroup2 : %d executors\n", n2); 
         kpccl_egroup_destroy(egroup1); 
         kpccl_egroup_destroy(egroup2); 
         return 0; 
 }

运行结果如下。

egroup2 : 2 executors
egroup2 : 4 executors

上述示例演示了创建的egroup1取用egroup2中executor后,重新向egroup2归还所有executor的流程,运行结果打印了最开始与取用、归还后egroup2中的executor数量,最终kpccl_egroup_return函数将egroup1中所有executor都归还给了egroup2。