Key Features
Hyper MPI has optimized the algorithm and topology awareness for the blocking and non-blocking APIs of Allreduce, Bcast, Barrier, Alltoallv, Allgatherv, Gatherv, Gather, Scatterv, reduce_scatter, and reduce_scatter_block so that it can deliver optimal performance for small packets. Compared with other MPIs, Hyper MPI offers the following key features:
- UCG module
In addition to all features of Open MPI, Hyper MPI has a collective communication module (that is, UCG). This module contains a large number of self-developed collective communication algorithms, greatly improving the performance of blocking and non-blocking APIs of Allreduce, Bcast, Barrier, Alltoallv, Allgatherv, Gatherv, Gather, Scatterv, reduce_scatter, and reduce_scatter_block. This module also contains hardware offloading algorithms for some collective communication APIs, significantly improving the computation-communication overlap rate.
- KuComm component
Hyper MPI introduces the KuComm component in the HMPI-layer collective communication framework (COLL). The component provides a hierarchical topology framework while offering the blocking collective operation APIs for Bcast and Alltoall. Other collective operations and P2P APIs use the functions provided by Open MPI 4.x. This component allows the subsequent communication domains at different levels to use the most suitable collective communication components for superior performance optimization.
- Support for FP16
Hyper MPI supports the FP16 half-precision data type at the HMPI layer, which is used to develop the basic acceleration libraries in the AI4S scenario.
The MPIX_SHORT_FLOAT, MPIX_C_SHORT_FLOAT_COMPLEX, and MPIX_CXX_SHORT_FLOAT_COMPLEX data types of C and C++ are added to the MPI extension module. You can use them by importing the <mpi-ext.h> header file. As the compiler in HPCKit does not support the half-precision types real2 and complex4 of Fortran, the half-precision features of Fortran are not enabled in the HMPI.
- Compatibility with Kunpeng environments
Hyper MPI can work on servers and clusters powered by Kunpeng chips.
- Dynamic loading of closed-source components
After the open-source Hyper MPI is installed, you can install the closed-source Hyper MPI components to the open-source Hyper MPI installation directory to enable the closed-source features. You do not need to recompile and install the open-source Hyper MPI. The closed-source Hyper MPI components provide additional optimization features.