1 / 7

Emergy Berger, Calvin Lin, Samuel Z. Guyer

Customizing Software Libraries for Performance Portability. Emergy Berger, Calvin Lin, Samuel Z. Guyer. CSE 231 Presentation by Jennifer Grau. The Problem. Software libraries typically designed to be generalized for reuse in many situations Why a problem?

semon
Download Presentation

Emergy Berger, Calvin Lin, Samuel Z. Guyer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Customizing Software Libraries for Performance Portability Emergy Berger, Calvin Lin, Samuel Z. Guyer CSE 231 Presentation by Jennifer Grau

  2. The Problem • Software libraries typically designed to be generalized for reuse in many situations • Why a problem? • This generality represents a performance penalty • Goal: to improve performance portability via specialization and dynamic feedback

  3. The Broadway Compiler • Uses annotations to describe the library but not the application • Handles existing libraries by separating the library source from the annotations • Using PLAPACK parallel dense linear algebra library • 1st algorithm: 10% for large to 180% for small • 2nd algorithm: 36% for large to 662% for small

  4. What’s Going On? • Annotations provide mechanism for describing library-specific analysis & abstractions • PLAPACK manipulates matrices via view objects • Annotations declare matrices to be general, local, or empty • Broadway performs dataflow analysis

  5. Extending Broadway for Performance Portability • Broadway doesn’t support optimizations which depend on interactions between the application and target machine • May require run-time information • The tradeoff between sequential and parallel computation may change dynamically as the amount of work often varies as the algorithm progresses

  6. Proposed Solution • Dynamic Feedback • Wish to use dynamic sampling to determine which optimization is the best • Modify annotation language to support keyword select to indicate there are multiple optimizations possible • Provides information to limit when select is run select every 20 { /* list of possible optimizations */ }

  7. Discussion • How might the overhead of dynamic sampling affect the actual benefit of the optimization? • Will they need to limit how many possible optimizations that may be listed in a given select? • What might be some other disadvantages of dynamic sampling?

More Related