  The computational power increases over the past decades havegreatly enhanced
the ability to simulate chemical reactions andunderstand ever more complex
transformations. Tensor contractions are the fundamental computational building
block of these simulations. These simulations have often been tied to one
platform and restricted in generality by the interface provided to the user.
The expanding prevalence of accelerators and researcher demands necessitate a
more general approach which is not tied to specific hardware or requires
contortion of algorithms to specific hardware platforms. In this paper we
present COMET, a domain-specific programming language and compiler
infrastructure for tensor contractions targeting heterogeneous accelerators. We
present a system of progressive lowering through multiple layers of abstraction
and optimization that achieves up to 1.98X speedup for 30 tensor contractions
commonly used in computational chemistry and beyond.
