zigzag-dse


Namezigzag-dse JSON
Version 3.8.3 PyPI version JSON
download
home_pageNone
SummaryZigZag - Deep Learning Hardware Design Space Exploration
upload_time2025-07-25 10:33:46
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseMIT
keywords zigzag dse design-space-exploration machine-learning deep-learning mapping
VCS
bugtrack_url
requirements numpy networkx sympy matplotlib onnx tqdm multiprocessing_on_dill pyyaml pytest typeguard cerberus seaborn pre-commit
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # πŸŒ€ ZigZag  
[![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/pylint-dev/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**](https://kuleuven-micas.github.io/zigzag/)  
### πŸ“– [**Start Tutorial**](https://github.com/KULeuven-MICAS/zigzag/tree/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](https://kuleuven-micas.github.io/zigzag/installation.html) for step-by-step instructions to set up ZigZag on your system.

---

## πŸ“– Getting Started  

Get up to speed with ZigZag using our resources:
- Check out the [Getting Started Guide](https://kuleuven-micas.github.io/zigzag/getting-started.html).
- Explore the [Jupyter Notebook Demo](https://github.com/ZigZag-Project/zigzag-demo) to see ZigZag in action.

---

## πŸ”§ 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  
- **[ZigZag: Enlarging Joint Architecture-Mapping Design Space Exploration for DNN Accelerators](https://ieeexplore.ieee.org/document/9360462)**  
  L. Mei, P. Houshmand, V. Jain, S. Giraldo, M. Verhelst  
  _IEEE Transactions on Computers_, vol. 70, no. 8, pp. 1160-1174, Aug. 2021.  

### Advanced Features and Extensions  
- **[Uniform Latency Model for DNN Accelerators](https://lirias.kuleuven.be/retrieve/661303)**  
  L. Mei, H. Liu, T. Wu, et al.  
  _DATE 2022_.  
- **[LOMA: Fast Auto-Scheduling on DNN Accelerators](https://ieeexplore.ieee.org/document/9458493)**  
  A. Symons, L. Mei, M. Verhelst  
  _AICAS 2021_.  

For more publications and detailed case studies, refer to the full list in our [Documentation](https://kuleuven-micas.github.io/zigzag/).

---

## πŸ’» Contributing  

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

---

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "zigzag-dse",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "zigzag, dse, design-space-exploration, machine-learning, deep-learning, mapping",
    "author": null,
    "author_email": "Arne Symons <arne.symons@kuleuven.be>, Linyan Mei <linyan.mei@kuleuven.be>",
    "download_url": "https://files.pythonhosted.org/packages/03/b4/df53025103ca734dcbe64b87a99e86870f716adda8f877773a95fe318266/zigzag_dse-3.8.3.tar.gz",
    "platform": null,
    "description": "# \ud83c\udf00 ZigZag  \n[![linting: pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/pylint-dev/pylint)  \n\n**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.\n\n### \ud83c\udf1f [**Explore Documentation**](https://kuleuven-micas.github.io/zigzag/)  \n### \ud83d\udcd6 [**Start Tutorial**](https://github.com/KULeuven-MICAS/zigzag/tree/tutorial) \n\n---\n\n## \u2728 Key Features  \n\n\u2714 **ONNX Integration**: Directly parse ONNX models for seamless compatibility with modern deep learning workflows.  \n\u2714 **Flexible Hardware Architecture**: Supports multi-dimensional (>2D) MAC arrays, advanced interconnection patterns, and high-level memory structures.  \n\u2714 **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.  \n\u2714 **Modular and Extensible**: Fully revamped structure with object-oriented paradigms to support user-friendly extensions and interfaces.  \n\u2714 **Integrated In-Memory Computing Support**: Seamlessly define digital and analog in-memory-computing (IMC) cores via an intuitive user interface.  \n\u2714 **Comprehensive Output Options**: Outputs results in YAML format, enabling further analysis and integration.\n\n---\n\n## \ud83d\ude80 Installation  \n\nVisit the [Installation Guide](https://kuleuven-micas.github.io/zigzag/installation.html) for step-by-step instructions to set up ZigZag on your system.\n\n---\n\n## \ud83d\udcd6 Getting Started  \n\nGet up to speed with ZigZag using our resources:\n- Check out the [Getting Started Guide](https://kuleuven-micas.github.io/zigzag/getting-started.html).\n- Explore the [Jupyter Notebook Demo](https://github.com/ZigZag-Project/zigzag-demo) to see ZigZag in action.\n\n---\n\n## \ud83d\udd27 What\u2019s Next  \n\nWe are continuously improving ZigZag to stay at the forefront of HW design space exploration. Here\u2019s what we\u2019re working on:  \n\n- \ud83e\udde0 **ONNX Operator Support**: Expanding compatibility for modern generative AI workloads.  \n- \ud83d\udcc2 **Novel Memory Models**: Integrating advanced memory models and compilers for better performance analysis.  \n- \u2699\ufe0f **Automatic Hardware Generation**: Enabling end-to-end generation of hardware configurations.  \n- \ud83d\ude80 **Enhanced Mapping Methods**: Developing more efficient and intelligent mapping techniques.  \n\n#### \u2b50 Please consider starring this repository to stay up to date!  \n\n---\n\n## \ud83d\udcda Publication Pointers  \n\nLearn more about the concepts behind ZigZag and its applications:\n\n### The General Idea of ZigZag  \n- **[ZigZag: Enlarging Joint Architecture-Mapping Design Space Exploration for DNN Accelerators](https://ieeexplore.ieee.org/document/9360462)**  \n  L. Mei, P. Houshmand, V. Jain, S. Giraldo, M. Verhelst  \n  _IEEE Transactions on Computers_, vol. 70, no. 8, pp. 1160-1174, Aug. 2021.  \n\n### Advanced Features and Extensions  \n- **[Uniform Latency Model for DNN Accelerators](https://lirias.kuleuven.be/retrieve/661303)**  \n  L. Mei, H. Liu, T. Wu, et al.  \n  _DATE 2022_.  \n- **[LOMA: Fast Auto-Scheduling on DNN Accelerators](https://ieeexplore.ieee.org/document/9458493)**  \n  A. Symons, L. Mei, M. Verhelst  \n  _AICAS 2021_.  \n\nFor more publications and detailed case studies, refer to the full list in our [Documentation](https://kuleuven-micas.github.io/zigzag/).\n\n---\n\n## \ud83d\udcbb Contributing  \n\nWe welcome contributions! Feel free to fork the repository, submit pull requests, or open issues. Check our [Contributing Guidelines](CONTRIBUTING.md) for more details.\n\n---\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "ZigZag - Deep Learning Hardware Design Space Exploration",
    "version": "3.8.3",
    "project_urls": {
        "Homepage": "https://github.com/KULeuven-MICAS/zigzag"
    },
    "split_keywords": [
        "zigzag",
        " dse",
        " design-space-exploration",
        " machine-learning",
        " deep-learning",
        " mapping"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd25660096a6056c9935f18a58d03711ec1c395519a1a281d5c8161511741feb",
                "md5": "ef2f29b5d2028fe163b7b7df5821ba3b",
                "sha256": "7adb8797d0b443f73aec9497147b8112569c130d94dec38612d7c7d72c6f5bc5"
            },
            "downloads": -1,
            "filename": "zigzag_dse-3.8.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ef2f29b5d2028fe163b7b7df5821ba3b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 3047527,
            "upload_time": "2025-07-25T10:33:44",
            "upload_time_iso_8601": "2025-07-25T10:33:44.457565Z",
            "url": "https://files.pythonhosted.org/packages/cd/25/660096a6056c9935f18a58d03711ec1c395519a1a281d5c8161511741feb/zigzag_dse-3.8.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "03b4df53025103ca734dcbe64b87a99e86870f716adda8f877773a95fe318266",
                "md5": "e59d41b4205118d5fe681089ba517cd6",
                "sha256": "97813d314fac74bbf7fb1db5db1e3de456f99ceef65ecfec83e7f118c63f3a31"
            },
            "downloads": -1,
            "filename": "zigzag_dse-3.8.3.tar.gz",
            "has_sig": false,
            "md5_digest": "e59d41b4205118d5fe681089ba517cd6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 2917659,
            "upload_time": "2025-07-25T10:33:46",
            "upload_time_iso_8601": "2025-07-25T10:33:46.337337Z",
            "url": "https://files.pythonhosted.org/packages/03/b4/df53025103ca734dcbe64b87a99e86870f716adda8f877773a95fe318266/zigzag_dse-3.8.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 10:33:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "KULeuven-MICAS",
    "github_project": "zigzag",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "networkx",
            "specs": []
        },
        {
            "name": "sympy",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "onnx",
            "specs": []
        },
        {
            "name": "tqdm",
            "specs": []
        },
        {
            "name": "multiprocessing_on_dill",
            "specs": []
        },
        {
            "name": "pyyaml",
            "specs": []
        },
        {
            "name": "pytest",
            "specs": []
        },
        {
            "name": "typeguard",
            "specs": []
        },
        {
            "name": "cerberus",
            "specs": []
        },
        {
            "name": "seaborn",
            "specs": []
        },
        {
            "name": "pre-commit",
            "specs": []
        }
    ],
    "lcname": "zigzag-dse"
}
        
Elapsed time: 2.19943s