@inproceedings{d2f6c07f79b0418289691ec67628fcf3,

title = "Hydra: Automatic algorithm exploration from linear algebra equations",

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.",

keywords = "Automatic Derivation, Linear Algebra",

author = "Duchateau, {Alexandre X.} and David Padua and Denis Barthou",

year = "2013",

doi = "10.1109/CGO.2013.6494999",

language = "English (US)",

isbn = "9781467355254",

series = "Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2013",

booktitle = "Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2013",

note = "11th IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2013 ; Conference date: 23-02-2013 Through 27-02-2013",

}