blob: 4bed1da4093cd39b107af1ebdeef4e49a0d891ee [file] [log] [blame] [view]
# The MPACT Project
## Introduction
The MPACT project's main objective is to dramatically reduce the effort
required to create highly optimizing HPC and ML compilers for a large class
of architectures using LLVM and MLIR. We will do this by providing a
declarative language-based mechanism for collecting and expressing
critical aspects of a target architecture in a way that can be reasoned
about and leveraged by all passes in both MLIR and LLVM.
## Building the MPACT compiler
To build and run the MPACT compiler from source (for developers),
please follow the steps below.
### Check out code and sync submodules
Use the following commands to clone the MPACT compiler repository.
```shell
git clone https://github.com/MPACT-ORG/mpact-compiler.git
cd mpact-compiler
git submodule update --init --progress
```
All following commands assume you remain in the `mpact-compiler` directory.
### Setup Python virtual environment
The following commands initialize a virtual environment.
```shell
python3.11 -m venv mpact_venv # one time set up
source mpact_venv/bin/activate # for each session
```
### Install build requirements
Note that currently we rely on `torch-mlir` requirements defined in the
submodule to ensure all the build requirements are consistent.
```shell
python -m pip install --upgrade pip
python -m pip install -r externals/torch-mlir/requirements.txt
python -m pip install -r externals/torch-mlir/torchvision-requirements.txt
```