Feature Support and Rollback
Not all algorithms in Hyper MPI support all scenarios. The following scenarios are supported only by part of algorithms:
Scenario 1: Unbalanced Processes Per Node (PPN)
If PPN is not specified or rankfile is used when the mpirun command is used to submit tasks, node processes will be unbalanced. Allreduce algorithm 11, 13, or 14, or Barrier algorithm 10 will be automatically rolled back to a supported algorithm.
Scenario 2: Unbalanced Processes Per Socket (PPS)
If PPS is not specified or rankfile is used when the mpirun command is used to submit tasks, socket processes will be unbalanced. Allreduce algorithm 13 or 14 will be automatically rolled back to a supported algorithm.
Scenario 3: Non-Commutative Operations
The MPI standard allows users to define mathematical operations in Allreduce in addition to built-in mathematical operations such as summation (MPI_SUM) and product (MPI_PROC). User-defined operations such as matrix multiplication may be non-commutative. These operations are supported by Allreduce algorithm 1.
If the specified algorithm is not algorithm 1, Hyper MPI rolls back the algorithm to algorithm 1 (for small- and medium-sized packets) based on the data size.
Scenario 4: --bind-to none or --bind-to board
If --bind-to is set to none or board, Allreduce algorithm 3, 6, 8, 13, or 14, or Barrier algorithm 3, 5, or 7 will be automatically rolled back to a supported algorithm.
Scenario 5: Number of Sent Messages (count) Less Than Number of Processes (np) on All Nodes
If the number of sent messages (count) is less than the number of processes (np) on all nodes, Allreduce algorithm 4, 12, 13, or 14 is not supported and will be automatically rolled back to a supported algorithm.
Scenario 6: Remainder of Count and PPN Is Not 0
If the remainder of count and ppn is not 0, Allreduce algorithm 13 is not supported and will be automatically rolled back to a supported algorithm.
Scenario 7: PPS Is 1
If PPS is 1, Allreduce algorithm 14 is not supported and will be automatically rolled back to a supported algorithm.
Scenario 8: PPN Is 1
If PPN is 1, Allreduce algorithm 11, 13, or 14, or Barrier algorithm 10 is not supported and will be automatically rolled back to a supported algorithm.
Scenario 9: NP Is Not 2 to the Power of N
If np is not 2 to the power of N, Allreduce algorithm 11 or Barrier algorithm 10 is not supported and will be automatically rolled back to a supported algorithm.
Scenario 10: NP Is an Odd Number
If np is an odd number, Allgatherv algorithm 1 is not supported and will be automatically rolled back to a supported algorithm.
Scenario 11: Allgatherv Small Packets
Allgatherv does not support small-packet data processing and will roll back to the native Allgatherv algorithm of Open MPI.