Hydra: Automatic algorithm exploration from linear algebra equations

Alexandre X. Duchateau, David Padua, Denis Barthou

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Hydra accepts an equation written in terms of operations on matrices and automatically produces highly efficient code to solve these equations. Processing of the equation starts by tiling the matrices. This transforms the equation into either a single new equation containing terms involving tiles or into multiple equations some of which can be solved in parallel with each other. Hydra continues transforming the equations using tiling and seeking terms that Hydra knows how to compute or equations it knows how to solve. The end result is that by transforming the equations Hydra can produce multiple solvers with different locality behavior and/or different parallel execution profiles. Next, Hydra applies empirical search over this space of possible solvers to identify the most efficient version. In this way, Hydra enables the automatic production of efficient solvers requiring very little or no coding at all and delivering performance approximating that of the highly tuned library routines such as Intel's MKL.

Original languageEnglish (US)
Title of host publicationProceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2013
DOIs
StatePublished - 2013
Event11th IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2013 - Shenzhen, China
Duration: Feb 23 2013Feb 27 2013

Publication series

NameProceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2013

Other

Other11th IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2013
Country/TerritoryChina
CityShenzhen
Period2/23/132/27/13

Keywords

  • Automatic Derivation
  • Linear Algebra

ASJC Scopus subject areas

  • Applied Mathematics
  • Control and Optimization

Fingerprint

Dive into the research topics of 'Hydra: Automatic algorithm exploration from linear algebra equations'. Together they form a unique fingerprint.

Cite this