All the scheduling examples are hosted on the compiler explorer.
This directory contains several examples, along with documentation and code. If you are new to Exo, we recommend going through the examples in the following order:
-
AVX2 Matmul: This example demonstrates how to take a simple matrix multiplication kernel and transform it into an implementation that can make use of AVX2 instructions. It provides an overview of Exo and its scheduling system.
-
Cursor: This example shows how to use Cursors to efficiently write schedules and define a new scheduling operator.
-
RVM: This example illustrates how to use Exo to define and target a new hardware accelerator entirely in the user code.
-
Quizzes (quiz1, quiz2, quiz3) contain common scheduling mistakes in Exo and solutions to fix them. The best way to learn a programming language is by debugging code.