skip to main content
10.1145/2966884.2966904acmotherconferencesArticle/Chapter ViewAbstractPublication PageseurompiConference Proceedingsconference-collections
research-article

A Library for Advanced Datatype Programming

Authors Info & Claims
Published:25 September 2016Publication History

ABSTRACT

We present a library providing functionality beyond the MPI standard for manipulating application data layouts described by MPI derived datatypes. The main contributions are: a) Constructors for several, new datatypes for describing application relevant data layouts. b) A set of extent-free constructors that eliminate the need for type resizing. c) New navigation and query functionality for accessing individual data elements in layouts described by datatypes, and for comparing layouts. d) Representation of datatype signatures by explicit, associated signature types, as well as functionality for explicit generation of type maps. As a simple application, we implement reduction collectives on noncontiguous, but homogeneous derived datatypes. Some of the proposed functionality could be implemented more efficiently within an MPI library.

References

  1. E. Bajrović and J. L. Träff. Using MPI derived datatypes in numerical libraries. In Recent Advances in Message Passing Interface. 18th European MPI Users' Group Meeting, volume 6960 of Lecture Notes in Computer Science, pages 29--38. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. Bruck, C.-T. Ho, S. Kipnis, E. Upfal, and D. Weathersby. Efficient algorithms for all-to-all communications in multiport message-passing systems. IEEE Transactions on Parallel and Distributed Systems, 8(11):1143--1156, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Byna, W. D. Gropp, X.-H. Sun, and R. Thakur. Improving the performance of MPI derived datatypes by optimizing memory-access cost. In IEEE International Conference on Cluster Computing (CLUSTER 2003), pages 412--419, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  4. A. Carpen-Amarie, S. Hunold, and J. L. Träff. MPI derived datatypes: Performance expectations and status quo. arXiv:1607.00178, 2016.Google ScholarGoogle Scholar
  5. A. Carpen-Amarie, S. Hunold, and J. L. Träff. On the expected and observed communication performance with MPI derived datatypes. In 23rd European MPI Users' Group Meeting (EuroMPI). ACM, 2016. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Ganian, M. Kalany, S. Szeider, and J. L. Träff. Polynomial-time construction of optimal MPI derived datatype trees. In 30th International Parallel and Distributed Processing Symposium (IPDPS). IEEE Computer Society, 2016.Google ScholarGoogle ScholarCross RefCross Ref
  7. D. S. Goujon, M. Michel, J. Peeters, and J. E. Devaney. AutoMap and AutoLink: Tools for communicating complex and dynamic data-structures using MPI. In Network-Based Parallel Computing. Communication, Architecture, and Applications, volume 1362 of Lecture Notes in Computer Science, pages 98--109. Springer, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. W. D. Gropp, T. Hoefler, R. Thakur, and J. L. Träff. Performance expectations and guidelines for MPI derived datatypes: a first analysis. In Recent Advances in Message Passing Interface. 18th European MPI Users' Group Meeting, volume 6960 of Lecture Notes in Computer Science, pages 150--159. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Hillson and M. Iglewski. C++2MPI: A software tool for automatically generating MPI datatypes from C++ classes. In Parallel Computing in Electrical Engineering (PARELEC'00), pages 13--17, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. Hoefler and M. Snir. Writing parallel libraries with MPI - common practice, issues, and extensions. In Recent Advances in the Message Passing Interface -18th European MPI Users' Group Meeting (EuroMPI), pages 345--355, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Kalany and J. L. Träff. Efficient, optimal MPI datatype reconstruction for vector and index types. In 22nd European MPI Users' Group Meeting (EuroMPI). ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Kimpe, D. Goodell, and R. B. Ross. MPI datatype marshalling: A case study in datatype equivalence. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. 17th European PVM/MPI Users' Group Meeting, volume 6305 of Lecture Notes in Computer Science, pages 82--91. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. F. Kjolstad, T. Hoefler, and M. Snir. A transformation to convert packing code to compact datatypes for efficient zero-copy data transfer. Technical report, University of Illinois at Urbana-Champain, 2011. Retrieved from http://hdl.handle.net/2142/26452, last visited on 03/01/2016.Google ScholarGoogle Scholar
  14. J. M. Kunkel and T. Ludwig. Visualization of MPI(-IO) datatypes. In Applications, Tools and Techniques on the Road to Exascale Computing, Proceedings of the conference ParCo, pages 473--480, 2011.Google ScholarGoogle Scholar
  15. F. G. Mir and J. L. Träff. Constructing MPI input-output datatypes for efficient transpacking. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. 15th European PVM/MPI Users' Group Meeting, volume 5205 of Lecture Notes in Computer Science, pages 141--150. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. MPI Forum. MPI: A Message-Passing Interface Standard. Version 3.1, June 4th 2015. www.mpi-forum.org.Google ScholarGoogle Scholar
  17. T. Prabhu and W. Gropp. DAME: A runtime-compiled engine for derived datatypes. In 22nd European MPI Users' Group Meeting (EuroMPI), 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Protze, T. Hilbrich, A. Knüpfer, B. R. de Supinski, and M. S. Müller. Holistic debugging of MPI derived datatypes. In 26th IEEE International Parallel and Distributed Processing Symposium (IPDPS), pages 354--365, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. E. Renault. Extended MPICC to generate MPI derived datatypes from C datatypes automatically. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. 14th European PVM/MPI Users' Group Meeting, volume 4757 of Lecture Notes in Computer Science, pages 307--314. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. E. Renault and C. Parrot. Automatic generation of MPI derived datatypes from C datatypes with MPIPP. In 19th International Conference on Parallel and Distributed Computing Systems (ISCA PDCS), pages 44--50, 2006.Google ScholarGoogle Scholar
  21. E. Renault and C. Parrot. MPI pre-processor: Generating MPI derived datatypes from C datatypes automatically. In International Conference on Parallel Processing Workshops (ICPP), pages 248--256, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. Ross, N. Miller, and W. D. Gropp. Implementing fast and reusable datatype processing. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. 10th European PVM/MPI Users' Group Meeting, volume 2840 of Lecture Notes in Computer Science, pages 404--413. Springer, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  23. R. B. Ross, R. Latham, W. Gropp, E. L. Lusk, and R. Thakur. Processing MPI datatypes outside MPI. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. 16th European PVM/MPI Users' Group Meeting, volume 5759 of Lecture Notes in Computer Science, pages 42--53. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. T. Schneider, F. Kjolstad, and T. Hoefler. MPI datatype processing using runtime compilation. In Recent Advances in the Message Passing Interface, 20th European MPI Users's Group Meeting (EuroMPI), pages 19--24, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. W. Tansey and E. Tilevich. Efficient automated marshaling of C++ data structures for MPI applications. In 22nd IEEE International Symposium on Parallel and Distributed Processing (IPDPS), pages 1--12, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  26. J. L. Träff. Alternative, uniformly expressive and more scalable interfaces for collective communication in MPI. Parallel Computing, 38(1-2):26--36, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. L. Träff. Optimal MPI datatype normalization for vector and index-block types. In 21st European MPI Users' Group Meeting (EuroMPI/ASIA), pages 33--38. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. L. Träff, R. Hempel, H. Ritzdorf, and F. Zimmermann. Flattening on the fly: efficient handling of MPI derived datatypes. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. 6th European PVM/MPI Users' Group Meeting, volume 1697 of Lecture Notes in Computer Science, pages 109--116. Springer, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. J. L. Träff, F. D. Lübbe, A. Rougier, and S. Hunold. Isomorphic, sparse MPI-like collective communication operations for parallel stencil computations. In 22nd European MPI Users' Group Meeting (EuroMPI). ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. L. Träff and A. Rougier. MPI collectives and datatypes for hierarchical all-to-all communication. In 21st European MPI Users' Group Meeting (EuroMPI/ASIA), pages 27--32. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. L. Träff and A. Rougier. Zero-copy, hierarchical gather is not possible with MPI datatypes and collectives. In 21st European MPI Users' Group Meeting (EuroMPI/ASIA), pages 39--44. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. J. L. Träff, A. Rougier, and S. Hunold. Implementing a classic: Zero-copy all-to-all communication with MPI datatypes. In 28th ACM International Conference on Supercomputing (ICS), pages 135--144. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    EuroMPI '16: Proceedings of the 23rd European MPI Users' Group Meeting
    September 2016
    225 pages
    ISBN:9781450342346
    DOI:10.1145/2966884

    Copyright © 2016 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 25 September 2016

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate66of139submissions,47%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader