Home   Publications     edited volumes   Awards   Research   Teaching   Miscellaneous   Full CV [pdf]   BLOG   bio
  
 
 
  
 
  
  Events
  
  
  
  
   
  
   Past Events
  
  
  
  
  
  
   
    | 
Publications of Torsten Hoefler  
Timo Schneider and F. Kjolstad and Torsten Hoefler:
 
  |  |   | MPI Datatype Processing using Runtime Compilation
   (In Proceedings of the 20th European MPI Users' Group Meeting, presented in Madrid, Spain, pages 19--24, ACM, ISBN: 978-1-4503-1903-4, Sep. 2013)  Best Paper Award at EuroMPI'13 (1/25) 
  Publisher Reference
 
 AbstractData packing before and after communication can make up
    as much as 90% of the communication time on modern computers. Despite MPI’s well-defined datatype interface for
    non-contiguous data access, many codes use manual pack
    loops for performance reasons. Programmers write access-pattern specific pack loops (e.g., do manual unrolling) for
    which compilers emit optimized code. In contrast, MPI implementations in use today interpret datatypes at pack time,
    resulting in high overheads. In this work we explore the effectiveness of using runtime compilation techniques to generate efficient and optimized pack code for MPI datatypes at
    commit time. Thus, none of the overhead of datatype interpretation is incurred at pack time and pack setup is as fast
    as calling a function pointer. We have implemented a library
    called libpack that can be used to compile and (un)pack MPI
    datatypes. The library optimizes the datatype representation and uses the LLVM framework to produce vectorized
    machine code for each datatype at commit time. We show
    several examples of how MPI datatype pack functions benefit from runtime compilation and analyze the performance
    of compiled pack functions for the data access patterns in
    many applications. We show that the pack/unpack functions generated by our packing library are seven times faster
    than those of prevalent MPI implementations for 73% of the
    datatypes used in MILC and in many cases outperform manual pack loops.
    
 
 DocumentsPublisher URL: http://doi.acm.org/10.1145/2488551.2488552download article:   download slides:      |  |   | BibTeX |  @inproceedings{schneider-rtcompmpiddt,   author={Timo Schneider and F. Kjolstad and Torsten Hoefler},   title={{MPI Datatype Processing using Runtime Compilation}},   year={2013},   month={Sep.},   pages={19--24},   booktitle={Proceedings of the 20th European MPI Users' Group Meeting},   location={Madrid, Spain},   publisher={ACM},   isbn={978-1-4503-1903-4},   source={http://www.unixer.de/~htor/publications/}, } |  
  |  
  
 
 |