Meta-programming for cross-domain tensor optimizations
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 levels of abstraction for both tensor operations and loop transformations, and TeML 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 optimization paths in Pluto. 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.
Mon 5 Nov
|15:30 - 16:00|
|16:00 - 16:30|
Sven PeldszusUniversity of Koblenz-Landau, Daniel StrüberUniversity of Koblenz-Landau, Germany, Jan JürjensUniversity of Koblenz-LandauDOI Pre-print
|16:30 - 17:00|