MVAPICH2 | Overview | Network-Based Computing Laboratory

MVAPICH2 (MPI-2 over OpenFabrics-IB, OpenFabrics-iWARP, PSM, uDAPL and TCP/IP)

This is an MPI-2 implementation (conforming to MPI 2.1 standard) which includes all MPI-1 features. It is based on MPICH2 and MVICH. The latest release is MVAPICH2 1.4 (includes MPICH2 1.0.8p1). It is available under BSD licensing.

The current release supports the following five underlying transport interfaces:
  • OpenFabrics-IB: This interface supports all InfiniBand compliant devices based on the OpenFabrics Gen2 layer. This interface has the most features and is most widely used. For example, this interface can be used over all Mellanox InfiniBand adapters, IBM eHCA adapters and Qlogic adapters.
  • OpenFabrics-iWARP: This interface supports all iWARP compliant devices supported by OpenFabrics. For example, this layer supports Chelsio T3 adapters with the native iWARP mode.
  • QLogic InfiniPath: This interface provides native support for InfiniPath adapters from QLogic over PSM interface. It provides high-performance point-to-point communication for both one-sided and two-sided operations.

  • uDAPL: This interface supports all network-adapters and software stacks which implement the portable DAPL interface from the DAT Collaborative. For example, this interface can be used over all Mellanox adapters, Chelsio adapters and NetEffect adapters. It can also be used with Solaris uDAPL-IBTL implementation over InfiniBand adapters.
  • TCP/IP: The standard TCP/IP interface (provided by MPICH2) to work with a range of network adapters supporting TCP/IP interface. This interface can be used with IPoIB (TCP/IP over InfiniBand network) support of InfiniBand also. However, it will not deliver good performance/ scalability as compared to the other interfaces.

MVAPICH2 1.4 series provides many features including scalable and robust daemon-less job startup, full autoconf-based configuration, enhanced processor affinity with PLPA, message coalescing, dynamic process migration, process-level fault-tolerance with checkpoint-restart, network-level fault-tolerance with Automatic Path Migration (APM), RDMA CM support, iWARP support, optimized collectives, on-demand connection management, multi-pathing, RDMA Read-based and RDMA-write-based designs, polling and blocking-based communication progress, multi-core optimized and scalable shared memory support, LiMIC2-based kernel-level shared memory support and memory hook with ptmalloc2 library support. The ADI-3-level design of MVAPICH2 1.4 series supports many features including: MPI-2 functionalities (one-sided, dynamic process management, collectives and datatype), multi-threading and all MPI-1 functionalities. It also supports a wide range of platforms (architecture, OS, compilers, InfiniBand adapters, iWARP adapters and network adapters supporting uDAPL interface). A complete set of features and supported platforms can be found here..

The complete MVAPICH2 1.4 package is available through public anonymous MVAPICH SVN.

Successive versions with additional features (such as job-pause framework, hybrid (UD/XRC-RC-based design) and support for Nemesis) will be available soon.