---
title: kpccl_egroup_return
description: "src egroup向dest egroup归还executors。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/KunoengHPCKit_developer_024.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/KunoengHPCKit_developer_024.html
indexId: 52cfbd4e1998dd8cb303b6226358b4ce1db80a7b3d355d55647ed8e55eee9c7373
---
# 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。
