CIMFlow LogoCIMFlow

Installation

Installing CIMFlow on Linux systems

System Requirements

OS
Ubuntu 22.04+
Python
3.11 or later
Disk
15 GB or more
RAM
8 GB min, 16 GB recommended

Installation instructions are provided for Ubuntu/Debian. Contributions for other Linux distributions are welcome.


Python Environment Setup

Create an isolated Python environment for CIMFlow.

Create environment with Python 3.11:

conda create -n cimflow python=3.11
conda activate cimflow

If Conda is not installed, see the Miniconda installation guide.

Create virtual environment:

python3.11 -m venv .venv
source .venv/bin/activate

Ensure Python 3.11 is available on your system before creating the venv.


System Dependencies

Install required system packages:

Build Tools

sudo apt install build-essential cmake ninja-build ccache

Clang Toolchain

Required for LLVM/MLIR compilation.

sudo apt install clang lld

Java Development Kit

Required for ANTLR parser generation.

sudo apt install openjdk-11-jdk

Required Libraries

sudo apt install libeigen3-dev libunwind-dev

Installation

Clone the Repository

git clone https://github.com/BUAA-CI-LAB/CIMFlow.git
cd CIMFlow

Run Installation Script

With your virtual environment activated:

./install.sh

The first installation takes 20-30 minutes to build LLVM/MLIR. Subsequent builds are faster with ccache. Do not interrupt the installation during submodule initialization.

The installation script performs the following:

  1. Initializes top-level submodules (CIMFlow-Compiler, CIMFlow-Simulator)
  2. Initializes nested submodules (including LLVM/MLIR)
  3. Builds and installs submodules (compiler and simulator)
  4. Installs the main CIMFlow Python package and CLI tools
  5. Sets up configuration in config/tool_paths.json

Post-Installation

Verify the installation:

cimflow --version

Expected output:

CIMFlow 0.1.0

View available commands:

cimflow --help

Check that the configuration file exists:

cat config/tool_paths.json

This file contains paths to the compiler and simulator executables generated during installation.


Installation Options


Troubleshooting


Development Installation

For contributors modifying CIMFlow:

git clone https://github.com/BUAA-CI-LAB/CIMFlow.git
cd CIMFlow
git submodule update --init --recursive
./install.sh

See CONTRIBUTING.md for development guidelines.

Last updated on