Meta-programming for cross-domain tensor optimizations

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

Contributors

Abstract

Many modern application domains crucially rely on tensor operations. The optimization of programs that operate on tensors poses difficulties that are not adequately addressed by existing languages and tools. Frameworks such as TensorFlow offer good abstractions for tensor operations, but target a specific domain, i.e. machine learning, and their optimization strategies cannot easily be adjusted to other domains. General-purpose optimization tools such as Pluto and existing meta-languages offer more flexibility in applying optimizations but lack abstractions for tensors. This work closes the gap between domain-specific tensor languages and general-purpose optimization tools by proposing the Tensor optimizations Meta-Language (TeML). TeML offers high-level abstractions for both tensor operations and loop transformations, and enables flexible composition of transformations into effective optimization paths. This compositionality is built into TeML’s design, as our formal language specification will reveal. We also show that TeML can express tensor computations as comfortably as TensorFlow and that it can reproduce Pluto’s optimization paths. Thus, optimized programs generated by TeML execute at least as fast as the corresponding Pluto programs. In addition, TeML enables optimization paths that often allow outperforming Pluto.

Details

Original languageEnglish
Title of host publicationGPCE 2018 - Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming
EditorsEric Van Wyk, Tiark Rompf
PublisherAssociation for Computing Machinery, Inc
Pages79-92
Number of pages14
ISBN (electronic)9781450360456
Publication statusPublished - 5 Nov 2018
Peer-reviewedYes

Conference

Title17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2018, co-located with SPLASH 2018
Duration5 - 6 November 2018
CityBoston
CountryUnited States of America

External IDs

ORCID /0000-0002-5007-445X/work/141545546

Keywords

Research priority areas of TU Dresden

Keywords

  • Code generation and optimization, Denotational semantics, Meta-programming, Tensor algebra