  This paper presents a code generator for sparse tensor contraction
computations. It leverages a mathematical representation of loop nest
computations in the sparse polyhedral framework (SPF), which extends the
polyhedral model to support non-affine computations, such as arise in sparse
tensors. SPF is extended to perform layout specification, optimization, and
code generation of sparse tensor code: 1) we develop a polyhedral layout
specification that decouples iteration spaces for layout and computation; and,
2) we develop efficient co-iteration of sparse tensors by combining polyhedra
scanning over the layout of one sparse tensor with the synthesis of code to
find corresponding elements in other tensors through an SMT solver.
  We compare the generated code with that produced by a state-of-the-art tensor
compiler, TACO. We achieve on average 1.63$\times$ faster parallel performance
than TACO on sparse-sparse co-iteration and describe how to improve that to
2.72$\times$ average speedup by switching the find algorithms. We also
demonstrate that decoupling iteration spaces of layout and computation enables
additional layout and computation combinations to be supported.
