---
title: 软件架构
description: "Hyper MPI基于Open MPI的MCA（Modular Component Architecture）框架和Open UCX的分层结构，进行自定义组件的新增和优化。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/userg_huaweimpi_0004.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/userg_huaweimpi_0004.html
indexId: acd19202f6fadad57730a8559825c4ac7066e0ef8d347030f43a4f0830569f1160
---
# 软件架构

Hyper MPI基于Open MPI的MCA（Modular Component Architecture）框架和Open UCX的分层结构，进行自定义组件的新增和优化。

- 与Open MPI相似之处：
  Hyper MPI包含两个软件层：UCX和OMPI层，即HUCX（Hyper Unified Communication X）和Hyper MPI。

- 与Open MPI不同之处：
  Open MPI采用P2P方式，Hyper MPI在UCX框架基础上增加集合通信模块XUCG（X Unified Communication Group）。该模块南向接口直接依赖于传输层UCT（Unified Communication Transport）和协议层UCP（Unified Communication Protocol），北向接口支持Open MPI的MCA框架中的集合操作组件。


Hyper MPI的软件架构如图1所示。

图1 Hyper MPI软件架构

Hyper MPI的软件架构中各模块说明如表1所示。


**表1 Hyper MPI软件架构中各模块说明**

| 软件层 | 模块名称 | 用途 |
| --- | --- | --- |
| Hyper MPI | P2P | MCA框架中的点对点操作组件。 |
| Hyper MPI | COLL | MCA框架中的集合操作组件。 |
| XUCG | UCG | 集合通信模块，UCX中的新增集合通信组件，包含UCG集合通信框架和UCG算法加速组件。 |
| HUCX | UCP | UCP协议层，协议层API，基于UCT构建通用协议的实现，包括MPI、OpenSHMEM、PGAS等。 |
| HUCX | UCT | 通信传输模块，基于硬件的底层API，提供基本的网络收发操作。 |
| HUCX | UCS | 通用服务与工具，包含一系列数据结构、算法以及通用的系统工具。 |
