rachmadvwp / cimloop

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CiMLoop

Welcome to the repository for "CiMLoop: A Flexible, Accurate, and Fast Compute-In-Memory Modeling Tool" by Tanner Andrulis, Vivienne Sze, and Joel S. Emer. CiMLoop is a full-stack CiM modeling tool with flexible user-defined systems and fast, accurate statistical energy modeling.

This repository contains tutorials, examples, documentation, and an artifact for the CiMLoop paper. All are accessible through the Docker container.

Note: This repository is a work in progress. More tutorials and documentation are on the way!

Quick Start

git clone https://github.com/mit-emze/cimloop.git
cd cimloop
export DOCKER_ARCH=<your processor architecture. supported: amd64, arm64>
docker-compose pull
docker-compose up
# Connect to the container and explore CiMLoop! The README.md file
# in the workspace directory contains more information.

# If you have permission issues, please see the instructions in the
# docker-compose.yaml file on how to set the UID and GID.

The README.md in the workspace directory contains more information on how to use CiMLoop.

Tutorials

The [Timeloop and Accelergy tutorials] (https://github.com/Accelergy-Project/timeloop-accelergy-exercises) are a prerequisite for using CiMLoop as well, so please complete those first. CiMLoop tutorials are available in the workspace/tutorials directory.

CiMLoop Artifact

CiMLoop published results can be reproduced by running the models/arch/1_macro/*/_guide.ipynb notebooks and the tutorials/demo_speed_accuracy.ipynb notebook in the workspace.

CiMLoop for Photonic Accelerators

CiMLoop includes a model of the Albireo silicon photonic accelerator as described in "Architecture-Level Modeling of Photonic Deep Neural Network Accelerators" (Andrulis et al., ISPASS 2024).

Documentation

Documentation can be found at the following locations:

Contributing

If you would like to contribute models of memory cells, components, architectures, workloads, or anything else, please submit a pull request. We welcome contributions!

Citation

If you use CiMLoop in your research, please cite the papers in citations.bib.

About

License:MIT License


Languages

Language:Jupyter Notebook 96.1%Language:Python 3.5%Language:TeX 0.2%Language:Jinja 0.1%