Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2966884.2966904acmotherconferencesArticle/Chapter ViewAbstractPublication PageseurompiConference Proceedingsconference-collections
research-article

A Library for Advanced Datatype Programming

Published: 25 September 2016 Publication 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.
[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.
[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.
[4]
A. Carpen-Amarie, S. Hunold, and J. L. Träff. MPI derived datatypes: Performance expectations and status quo. arXiv:1607.00178, 2016.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[16]
MPI Forum. MPI: A Message-Passing Interface Standard. Version 3.1, June 4th 2015. www.mpi-forum.org.
[17]
T. Prabhu and W. Gropp. DAME: A runtime-compiled engine for derived datatypes. In 22nd European MPI Users' Group Meeting (EuroMPI), 2015.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.

Cited By

View all
  • (2020)Signature Datatypes for Type Correct Collective Operations, RevisitedProceedings of the 27th European MPI Users' Group Meeting10.1145/3416315.3416324(81-88)Online publication date: 21-Sep-2020

Recommendations

Comments

Information & Contributors

Information

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
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].

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 September 2016

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

EuroMPI 2016
EuroMPI 2016: The 23rd European MPI Users' Group Meeting
September 25 - 28, 2016
Edinburgh, United Kingdom

Acceptance Rates

Overall Acceptance Rate 66 of 139 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Signature Datatypes for Type Correct Collective Operations, RevisitedProceedings of the 27th European MPI Users' Group Meeting10.1145/3416315.3416324(81-88)Online publication date: 21-Sep-2020

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media