Home
Learning About Clusters
Programming Clusters
Administering Clusters
Benchmarking Clusters
File Systems for Clusters
Cluster Applications/Grid
Cluster News
Site Map
 
    Home
Search
Monkey Support
Main Menu
Home
News
Features
Columns
Reviews
Links
FAQ's
Contact
Site Information
Projects
Conference Reports
Cluster Tweaks
Site Map
Add This Article
Login Form





Lost Password?
No account yet? Register
Syndicate

Cluster Agenda

Cluster Builder

Mellanox


Unleashing MPI: MorphMPI Print E-mail
Written by Toon Knapen   
Thursday, 04 October 2007
Article Index
Unleashing MPI: MorphMPI
Page 2

Using MorphMPI

To use MorphMPI, first the prefix of all MPI-symbols in the application should be replaced by MorphMPI. Prefixing all symbols with MorphMPI avoids having multiple definitions for all MPI-symbols at link-time and allows MorphMPI to easily call the equivalent MPI-functions. To replace all MPI-symbols with their equivalent MorphMPI-symbols, either a script can be used that comes with MorphMPI or the header morphornot.h can be included instead of including mpi.h. The morphornot.h header will include mpi.h unless the preprocessor-token MORPH is defined. If MORPH is defined, preprocessor directives will convert all MPI-functions and constants to their MorphMPI equivalent and will include morphmpi.h.

Next, the MorphMPI library must be compiled against an MPI-implementation of your choice. This library will than be able to translate all MorphMPI-function calls and MorphMPI-constants to the corresponding function/constant in the MPI-implementation of your choice.

Finally, the application should be linked to this MorphMPI-library and can then be launched using the launching-mechanism that comes with the MPI-implementation of your choice.

Availability

MorphMPI currently covers a large portion of the MPI-1.1 interface and a few functions of the MPI-2.0 interface.

MorphMPI has been tested using a large portion of the regression tests of MPICH2-1.0.5p4 and inside development versions of the finite element applications for (aero-)acoustics ACTRAN [3]. Since ACTRAN contains the MUMPS [4] solver, MUMPS as well as its dependency BLACS were morphed and tested.

MorphMPI is available under the LGPL and is hosted on sourceforge [5]. Actually it is essential to MorphMPI to make the source-code available because this allows users to compile and link morphed applications with any MPI-implementation.

An Extra Feature

In addition to being linked with any other MPI-implementation, MorphMPI need not necessarily be linked to another MPI implementation. In this case, MorphMPI will act as a fake MPI library. Launching an application that is linked against MorphMPI compiled in fake-mode, enables the application to call all MPI functions which will react conforming to the size of MPI_COMM_WORLD being 1.

Because MorphMPI tracks the creation and deletion of groups and communicators, it is also able to report if there were any group- or communicator-leaks when Finalize is being called. For instance, MorphMPI has detected several such leaks in the regression tests of mpich2-1.0.5p4 but (un)fortunately these leaks were already patched before being reported based on the leak-reports of MorphMPI.

Acknowledgments

This library was implemented at Free Field Technologies [2]. Thanks to Mathieu Gontier for revising the documentation and to Jeff Squyres and Tim Prins for feedback on this article.

References
  1. beowulf mailing list: http://www.beowulf.org/archive/2005-March/012278.html
  2. FFT: http://www.fft.be
  3. ACTRAN: http://www.fft.be/?id=10
  4. MUMPS: http://graal.ens-lyon.fr/MUMPS/
  5. MorphMPI on sourceforge: http://morphmpi.sourceforge.net

Toon Knapen can be reached at toon.knapen ( a t ) telenet.be and would like to acknowledge Free Field Technologies for their assistance int his project.

Comment on this article
You must login to leave comments...


Other Visitors Comments
There are no comments currently....

Last Updated ( Tuesday, 14 July 2009 )
 
Next Article >
HPC Community
HPC Community: Open Software, Help, and Tips
Poll
What is your interest in cluster books by Douglas Eadline?
 
Latest Stories/News
Popular
Cluster Ranting By Eadline
InsideHPC
  • Cisco aims new container offering at feds

    DataCenterKnowledge is talking this week about Cisco’s latest planned product: a container computing solution. It’s no surprise that Cisco Systems has confirmed that it is officially developing a data center container offering. In reality, Cisco (CSCO) has been busy in the container market for some time, most visibly in procuring a container for the Nebula cloud [...]

  • Yotta Yotta IP features in Gelsinger’s plan from EMC

    Stacey Higginbotham at GigaOm is reporting this week on Pat Gelsinger’s vision (fresh off 30 years at Intel) for EMC’s to virtualize and federate storage on a global scale Pat Gelsinger, who moved to EMC late last year after 30 years at Intel, is stirring things up at the storage giant with a plan to virtualize [...]

  • 3D chip integration research at IBM

    Last week IBM’s Zurich research team and its partners were talking about progress on 3D integration as a path for continuing the Moore’s law growth of transistors. The argument is that we won’t be able to stay on the Moore’s law density curve for another 15 years by virtue of diminishing feature size alone — [...]

Who's Online
We have 22 guests online
Worldwide Front Page Visits

Locations of visitors to this page

Monkey Stats
Google PageRank modul - Camelpark SEO centrum

 

Creative Commons License
  ©2005-2008 Seagrove LLC, Some rights reserved. Except where otherwise noted, this site is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.
Cluster Monkey Logo and Monkey Character are Trademarks of Seagrove LLC.