Skip to main content

ZigZag - Deep Learning Hardware Design Space Exploration

Project description

🌀 ZigZag

linting: pylint

ZigZag is a novel HW Architecture-Mapping Design Space Exploration (DSE) framework for Deep Learning (DL) accelerators. It bridges the gap between algorithmic DL decisions and their acceleration cost on specialized hardware, providing fast and accurate HW cost estimation. Through its advanced mapping engines, ZigZag automates the discovery of optimal mappings for complex DL computations on custom architectures.

🌟 Explore Documentation

📖 Start Tutorial


✨ Key Features

ONNX Integration: Directly parse ONNX models for seamless compatibility with modern deep learning workflows.
Flexible Hardware Architecture: Supports multi-dimensional (>2D) MAC arrays, advanced interconnection patterns, and high-level memory structures.
Enhanced Cost Models: Includes detailed energy and latency analysis for memories with variable port structures through inferred spatial and temporal data sharing and reuse patterns.
Modular and Extensible: Fully revamped structure with object-oriented paradigms to support user-friendly extensions and interfaces.
Integrated In-Memory Computing Support: Seamlessly define digital and analog in-memory-computing (IMC) cores via an intuitive user interface.
Comprehensive Output Options: Outputs results in YAML format, enabling further analysis and integration.


🚀 Installation

Visit the Installation Guide for step-by-step instructions to set up ZigZag on your system.


📖 Getting Started

Get up to speed with ZigZag using our resources:


🔧 What’s Next

We are continuously improving ZigZag to stay at the forefront of HW design space exploration. Here’s what we’re working on:

  • 🧠 ONNX Operator Support: Expanding compatibility for modern generative AI workloads.
  • 📂 Novel Memory Models: Integrating advanced memory models and compilers for better performance analysis.
  • ⚙️ Automatic Hardware Generation: Enabling end-to-end generation of hardware configurations.
  • 🚀 Enhanced Mapping Methods: Developing more efficient and intelligent mapping techniques.

⭐ Please consider starring this repository to stay up to date!


📚 Publication Pointers

Learn more about the concepts behind ZigZag and its applications:

The General Idea of ZigZag

Advanced Features and Extensions

For more publications and detailed case studies, refer to the full list in our Documentation.


💻 Contributing

We welcome contributions! Feel free to fork the repository, submit pull requests, or open issues. Check our Contributing Guidelines for more details.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zigzag_dse-3.8.5.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zigzag_dse-3.8.5-py3-none-any.whl (3.0 MB view details)

Uploaded Python 3

File details

Details for the file zigzag_dse-3.8.5.tar.gz.

File metadata

  • Download URL: zigzag_dse-3.8.5.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for zigzag_dse-3.8.5.tar.gz
Algorithm Hash digest
SHA256 965be514d57147dcb4b38cfd8315bf705c4c9e56cbab657b539bb1691d6d0dbd
MD5 bcdea383790f8be833db27172c394446
BLAKE2b-256 736f9758e887d84d2d95dc5555679b04d73cd37d9cacd3e6683323462b0707f4

See more details on using hashes here.

File details

Details for the file zigzag_dse-3.8.5-py3-none-any.whl.

File metadata

  • Download URL: zigzag_dse-3.8.5-py3-none-any.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for zigzag_dse-3.8.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7e06c0b75a720e7a252cb8b0821503ad425d1fe558c789165d2059afcf7b27e0
MD5 99ff5c474063de8d7c4b8114e9ab59bf
BLAKE2b-256 71132c0799ca0c2ae83a49cf770ebe95ab4eb93db8de148b7977eb3c8753a38d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page