feinsum#

Feinsum, short for Fast-Einstein Summations, provides tools for managing database of code-transformations on Batched Einstein Summations. Primarily, it serves the following purposes:

  1. Provides tools for performance engineers to record code-transformation spaces for a class of Batched Einstein Summations.

  2. Automatically record facts (such as walltime, FLOPS) about the points in the transformation space specified by a performance engineer. (current implementation uses OpenTuner to traverse the search space)

  3. Defines (and implements) a specification to translate the recorded code-transformations to a subset of loopy kernels.

The rest of this manual is structured as follows. We outline our design choices are elaborate in Sec โ€œDesignโ€. We provide tutorials in Sec โ€œTutorial: Expressing code-transformation spaceโ€ an Sec โ€œTutorial: Using the transformation knowledgeโ€. The API reference is generated in Sec. โ€œAPI Referenceโ€.