Collective Error Detection for MPI Collective Operations

  • Chris Falzone
  • Anthony Chan
  • Ewing Lusk
  • William Gropp
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3666)

Abstract

An MPI profiling library is a standard mechanism for intercepting MPI calls by applications. Profiling libraries are so named because they are commonly used to gather performance data on MPI programs. Here we present a profiling library whose purpose is to detect user errors in the use of MPI’s collective operations. While some errors can be detected locally (by a single process), other errors involving the consistency of arguments passed to MPI collective functions must be tested for in a collective fashion. While the idea of using such a profiling library does not originate here, we take the idea further than it has been taken before (we detect more errors) and offer an open-source library that can be used with any MPI implementation. We describe the tests carried out, provide some details of the implementation, illustrate the usage of the library, and present performance tests.

Keywords

MPI collective errors datatype hashing 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Almási, G., Archer, C., Casta nos, J.G., Gupta, M., Martorell, X., Moreira, J.E., Gropp, W.D., Rus, S., Toonen, B.: MPI on BlueGene/L: Designing an efficient general purpose messaging solution for a large cellular system. In: Dongarra, J., Laforenza, D., Orlando, S. (eds.) EuroPVM/MPI 2003. LNCS, vol. 2840, pp. 352–361. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Gropp, W., Huss-Lederman, S., Lumsdaine, A., Lusk, E., Nitzberg, B., Saphir, W., Snir, M.: MPI–The Complete Reference, 2nd edn. The MPI-2 Extensions, vol. 2. MIT Press, Cambridge (1998)Google Scholar
  3. 3.
    Gropp, W.D.: Runtime checking of datatype signatures in MPI. In: Dongarra, J., Kacsuk, P., Podhorszki, N. (eds.) PVM/MPI 2000. LNCS, vol. 1908, pp. 160–167. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  4. 4.
  5. 5.
    Rosner, R., Calder, A., Dursi, J., Fryxell, B., Lamb, D.Q., Niemeyer, J.C., Olson, K., Ricker, P., Timmes, F.X., Truran, J.W., Tufo, H., Young, Y., Zingale, M., Lusk, E., Stevens, R.: Flash code: Studying astrophysical thermonuclear flashes. Computing in Science and Engineering 2(2), 33 (2000)CrossRefGoogle Scholar
  6. 6.
    Snir, M., Otto, S.W., Huss-Lederman, S., Walker, D.W., Dongarra, J.: MPI–The Complete Reference, 2nd edn. The MPI Core, vol. 1. MIT Press, Cambridge (1998)Google Scholar
  7. 7.
    Träff, J.L., Worringen, J.: Verifying collective MPI calls. In: Kranzlmüller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 18–27. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Chris Falzone
    • 1
  • Anthony Chan
    • 2
  • Ewing Lusk
    • 2
  • William Gropp
    • 2
  1. 1.University of Pennsylvania at EdinboroEdinboro
  2. 2.Mathematics and Computer Science DivisionArgonne National LaboratoryArgonne

Personalised recommendations