Critical Software

News|Products|Services|Partners|Documents|Download|Contacts|What is MPI?
WMPI II|WMPI|PATENT MPI
Licensing
|
Support
|
Faq
|
Download
|
Quote

WMPI™
WMPI by Critical Software is a leading implementation of version 1.2 of the MPI standard, supporting development and deployment of parallel applications in Windows and Linux platforms on Intel and AMD 32 and 64 bit architectures.

After the success of initial WMPI versions based on MPICH architectures, WMPI is now based on a new internal architecture designed and optimized for MS Windows and Linux clusters. WMPI takes full advantage of multithreading capabilities and synchronization mechanisms available in the operating systems.

WMPI features include:
  • Support for MPI 1.1, MPI 1.2 extensions;
  • Single-memory-copy semantics for shared memory communication;
  • OpenMP ready, full thread safety;
  • Support for TCP and SMP devices;
  • Advanced architecture, capable of supporting many different communication devices simultaneously;
  • Efficient, non-polling implementation;
  • Full overlap of communication and computation;
  • Asynchronous completion notification;
  • Automatic Remote Installation;
  • Supports simultaneous independent MPI computations in the same CPU, with partial or complete overlap;
  • Mpiexec is not mandatory to launch an application;
  • Optimized use of synchronization mechanisms;
  • C/C++ bindings with support for MS Visual C++ 6.0 and 7.0 (.NET) or any other C89 compliant compiler;
  • Fortran bindings (F77 and F90 standard) with support for Compaq Visual Fortran 6.1, Absoft Pro Fortran 7.0 and Lahney/Fujitsu Fortran 5.6 IDE's/compilers;
  • Supports Windows based clusters (WinNT 4.0, Win2000 Pro/Advanced Server, WinXP, Win Server 2003);
  • Supports Linux based clusters (Red Hat, Mandrake, SuSe, Debian, and other kernel 2.4.x distributions or higher);
  • Support 64 bit extended systems, Opteron, Athlon64, EM64T and will soon support the Intel Itanium 2 (see WMPI II for current IA64 support);
    Supported Platforms
    Windows platforms
    Linux Distributions

    Windows NT 4.0 (SP 4 and above)
    Windows 2000
    Windows XP
    Windows 2003 Server


    Turbo Linux 7.0
    Debian 3.0
    SuSe 8.1
    Red Hat 9.0
    Gentoo 1.4
    Mandrake 9.1
    Slackware 9.1



    Supported Compilers
    Windows platforms
    Linux Distributions

    MS Visual C++ 6.0
    MS Visual C++ 7.0 (.NET)
    C89 compliant compiler

    Compaq Visual Fortran 6.1A
    Lahey/Fujitsu Fortran 5.6
    Absoft Pro Fortran 7.0


    GNU Compiler collection 2.95, 3.2 or 3.3



    Latency

    As one of the barriers to effective speedups in message passing, communication latency, was an object of special care in the latest release. Latency was reduced by as much as 50% in WMPI versions 1.5 an onwards. Internal memory copies were almost entirely removed so that data may flow directly from the communication media into the user-level buffers speeding up user applications.

    Thread-Safe

    WMPI provides the highest level of thread safety introduced in the MPI 2 standard. Multiple threads can execute MPI functions at the same time and communicate between each other using MPI functions, allowing applications to effectively exploit the CPU power within each machine.

    TCP-IP and Shared Memory

    WMPI supports data exchange through TCP/IP and shared memory - support for other communication technologies such as Infiniband are underway.

    MFC Integration

    WMPI integrates smoothly with the Microsoft Foundation Classes (MFC) allowing easy access to a wealth of features and GUI functions.

    Adaptation to existing clusters

    WMPI provides the ability to adapt to the characteristics of each cluster, deciding what communication media and security contexts to use in order to maximize performance and security according to user preferences.

    Multiple Devices

    WMPI is modular, providing the support for different communication technologies in separate Windows DLLs that can be used simultaneously in any combination. This makes WMPIs memory footprint smaller.

    Security

    WMPI uses the Windows security mechanism to run the MPI process inside each user's context. This protects users and system data while sharing clusters.


    For information about support for other systems and development environments, please contact wmpi-sales@criticalsoftware.com.


    Download here the WMPI brochure