---
title: 如何生成HMPI可执行测试程序-官方技术文章-鲲鹏社区
description: 以MPI_Allreduce为例，帮助开发者掌握如何调用HMPI集合操作接口生成可执行程序
keywords: HMPI,如何生成,可执行测试程,官方技术文章,鲲鹏社区,如何调用,结合操作接口,编译可执行程序
url: https://www.hikunpeng.com/developer/techArticles/20230427-1?envFlag=1
section: (其他)
---

# 如何生成HMPI可执行测试程序-官方技术文章-鲲鹏社区

URL: https://www.hikunpeng.com/developer/techArticles/20230427-1?envFlag=1
描述: 以MPI_Allreduce为例，帮助开发者掌握如何调用HMPI集合操作接口生成可执行程序
关键词: HMPI,如何生成,可执行测试程,官方技术文章,鲲鹏社区,如何调用,结合操作接口,编译可执行程序

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

如何生成HMPI可执行测试程序

如何生成HMPI可执行测试程序

发表于 2023/04/27

0

在本章节中，我们将以通过调用MPI_Allreduce为例，带着大家掌握如何调用HMPI集合操作接口生成可执行程序。

## 如何调用HMPI结合操作接口

以调用MPI_Allreduce接口为例，实现将同一个通讯域中各个进程的int类型数据块进行求和运算，将最终结果给所有该通讯域中的所有进程的规约集合操作，示例文件名为test_case.c。

（1）头文件需要添加mpi.h

（2）在调用MPI_Allreduce前需要调用MPI_Init进行初始化

（3）MPI_Comm_rank获取当前进程号，MPI_Comm_size获取进程总数

test_case.c示例如下：

```
#include <mpi.h>
```

上述示例中对MPI_ALLREDUCE集合操作进行了100000次迭代，是为更好展示HMPI优化的集合操作的优势。

## 编译可执行程序

如上test_case.c文件为例，执行如下命令编译生成可执行文件test_case。

```
mpicc test_case.c -o test_case
```

上述命令执行无报错，即编译成功，如有报错需根据具体报错进行纠正。

test_case在使用HMPI执行后，回显如下图：

根据上图回显显示看出HMPI不只有一种模式，Coll模式较于Non-coll模式时延具有优势，具体执行命令请参照使用HMPI工具拉起可执行程序的内容。

本页内容
