中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

产品介绍

概念介绍

MPI(Message Passing Interface)是支持多语言编程的并行计算通讯应用接口。它基于Open MPI,结合Open UCX P2P点对点通讯框架开发,专为集合通讯的UCX COLL、UCG优化框架,并在该框架中实现了集合操作加速算法。具有高性能、大规模性和可移植性,以支持制造、气象、政府HPC场景的解决方案,其长远意义在于构建以鲲鹏服务器为硬件基础的高性能计算生态。

价值

MPI集合通信函数包罗万象,仅MPI 3.1标准中定义的集合通信函数就达30多种。在众多集合通信操作函数中,MPI_Allreduce,MPI_Bcast、MPI_Barrier及MPI_Alltoallv地位突出,调用占比较高,而在诸多应用中,MPI集合操作多是小包通信。

  • 性价比最优

    Hyper MPI当前针对以上三四种集合通讯函数做了算法和拓扑感知层面的优化,以保证其在相同组网环境下MPI_Bcast小包性能全面超越友商,MPI_Allreduce小包性能接近友商。

  • 构筑自由生态

    目前业界领先的MPI库,均采用闭源发布策略,且不支持鲲鹏生态;Hyper MPI则不仅可以在x86服务器上使能,而且可以在以鲲鹏芯片为核心的服务器和集群上发挥作用。相比于x86服务器,鲲鹏服务器具有单节点核数多、指令集简单、耗能低、价格实惠等特点,因此这有利于构建以鲲鹏芯片为硬件核心的计算生态。

功能

Hyper MPI是基于Open MPI,结合Open UCX P2P点对点通讯框架,新增了UCX COLL集合通讯优化框架,并在该框架实现了优化算法加速库,构建MPI的集合通信操作性能竞争力。本MPI产品化版本支持的集合通讯操作主要包括:

  • MPI_Allreduce集合操作。
    • 函数原型
      int MPI_Allreduce(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
    • 函数简介

      MPI_Allreduce是MPI组规约函数。MPI_Allreduce将各个独立进程中的send buffer进行某种数学(如:加法或者乘法)或者逻辑(如:求逻辑与、逻辑或)运算,然后将结果同步到通信域内所有进程的receive buffer中。

  • MPI_Bcast集合操作。
    • 函数原型
      int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
    • 函数简介

      MPI_Bcast是MPI广播操作函数,root进程将buffer中的信息发送给通讯域内其余进程,使得所有进程获取相同的信息。

  • MPI_Barrier集合操作。
    • 函数原型
      int MPI_Barrier(MPI_Comm comm)
    • 函数简介

      MPI_Barrier是MPI同步函数,其作用是:该通讯域中全部进程进行同步操作,即保证进程调用函数后具有良好的同步性。

  • MPI_Alltoallv集合操作。
    • 函数原型
      int MPI_Alltoallv(const void *sendbuf, const int sendcounts[],const int sdispls[], MPI_Datatype sendtype,void *recvbuf, const int recvcounts[],const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm)
    • 函数简介

      MPI_Alltoallv是MPI多对多通信函数,其作用是:该通讯域中全部进程进行点对点通信操作,发送数据至其他进程,并从其他进程接收数据,且通信中每个进程发送和接收的长度可变。

Hyper MPI集合通讯算法支持最大发送数据包长度为字节,超过字节后提示错误信息并退出,此时需手动切换至Open MPI原生算法。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词