You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This documentation provides an overview of the Machine Learning Compilers project, which aims to develop a highly effective just-in-time (JIT) compiler for machine learning applications.
4
+
In this project, we will develop a domain-specific compiler for tensor expressions from scratch. Tensor compilers are used to translate
5
+
high-level tensor operations into efficient, low-level code that can be executed on various hardware platforms.
6
+
7
+
Tensor expressions are mathematical representations of operations on multi-dimensional arrays (tensors). They are widely used in machine
8
+
learning, scientific computing, and data analysis. The goal of this project is to create a compiler that efficiently translates these
9
+
expressions into machine code, enabling high-performance execution on modern hardware.
10
+
11
+
The compiler developed in this project is designed with the following goals in mind:
12
+
13
+
- **High Throughput**: Efficient execution of repeated evaluations of the same expression.
14
+
- **Low Latency**: Fast response time for single expression evaluations.
15
+
- **Short Compile Times**: Rapid compilation from expression to executable code.
16
+
- **Flexibility**: Support for a wide range of tensor expressions.
17
+
18
+
To meet these goals, the compiler will be primitive-based, meaning that complex tensor operations are built from a set of manually tuned
19
+
low-level primitives. These primitives are handcrafted during development and enable just-in-time (*JIT*) compilation of tensor
20
+
expressions to machine code. In this project, the primitives are optimized for the **ARM64** architecture.
21
+
22
+
Documentation
23
+
-------------
24
+
25
+
This overview chapter will guide you through the key components of the project. The documentation is structured into several chapters,
26
+
each focusing on a specific aspect of the project.
27
+
28
+
Assembly
29
+
--------
30
+
31
+
In the first chapter, :doc:`assembly`, we revisit the basics of assembly language as an essential requirement before diving into implementing
32
+
the compiler. This chapter is intended as a refresher and is not directly part of the project's goal.
0 commit comments