MPICH-1

From HP-SEE Wiki

(Difference between revisions)
Jump to: navigation, search
Line 42: Line 42:
== Usage Overview ==
== Usage Overview ==
-
* If possible with small example - may be a link
+
[http://www.mcs.anl.gov/research/projects/mpi/usingmpi/examples/main.htm MPICH examples]
-
== Dependacies ==
+
== Dependencies ==
-
* list of all relevant dependencies on other libraries
+
n/a
== HP-SEE Applications ==
== HP-SEE Applications ==

Revision as of 21:38, 3 July 2011

Contents


Authors/Maintainers

Mathematics and Computer Science Division, Argonne National Laboratory.

Summary

MPICH is an open-source, portable implementation of the full MPI-1 standard specification for a wide variety of parallel computing environments, including workstation clusters and massively parallel processors (MPPs). Besides complete implementation of version 1.2 of the MPI Standard, MPICH also implements significant parts of MPI-2, particularly in the area of parallel I/O. The only major feature supported in MPICH but not in MPICH2 is heterogeneity; that is, support for a single MPI application running on systems that use different data representations (e.g., a mixture of IA32 and IA64 systems).

Although discontinued for some time, MPICH implementation (with the last version 1.2.7) is one of the most frequently used MPI library packages. It is widely used on all types of computing resources: small clusters, Grid sites and large-scale HPC facilities. It is supported on wide range of currently present architectures.

MPICH is deployed on target system through standard configure/make process and it supports C, C++, F77, and F90. MPICH provides an abstraction layer for interprocess communication regardless of the operating environment, be it a single massively parallelized shared-memory machine or a cluster of distributed machines. The different environments use different devices for communication. Each device is an underlying transport layer for the message passing. Examples of devices (or so called channels) are p4 for clusters of machines on normal TCP/IP networks and shmem for shared memory SMP machines.

Features

  • Listed features

Architectural/Functional Overview

  • high level design info, how it works, performance - may be a link, or several links

Usage Overview

MPICH examples

Dependencies

n/a

HP-SEE Applications

  • Applications using it

Resource Centers

  • RCs supporting it (with version number if not the same as above)

Usage by Other Projects and Communities

  • If any

Recommendations for Configuration and Usage

Please describe here any common settings, configurations or conventions that would make the usage of this resource (library or tool) more interoperable or scalable across the HP-SEE resources. These recommendations should include anything that is related to the resource and is agreed upon by administrators and users, or across sites and applications. These recommendations should emerge from questions or discussions opened by site administrators or application developers, at any stage, including installation, development, usage, or adaptation for another HPC centre.

Provided descriptions should describe general or site specific aspects of resource installation, configuration and usage, or describe the guidelines or convention for deploying or using the resource within the local (user/site) or temporary environment (job). Examples are:

  • Common configuration settings of execution environment
  • Filesystem path or local access string
  • Environment variables to be set or used by applications
  • Options (e.g. additional modules) that are needed or required by applications and should be present
  • Minimum quantitative values (e.g. quotas) offered by the site
  • Location and format of some configuration or usage hint instructing applications on proper use of the resource or site specific policy
  • Key installation or configuration settings that should be set to a common value, or locally tweaked by local site admins
  • Conventions for application or job bound installation and usage of the resource
Personal tools