Coder Social home page Coder Social logo

kyrie-zhao / dietcode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from uoft-ecosystem/dietcode

0.0 0.0 0.0 19.09 MB

DietCode Code Release

Home Page: https://UofT-EcoSystem.github.io/DietCode/

Dockerfile 0.49% Python 10.55% Shell 0.34% Cuda 88.61%

dietcode's Introduction

DietCode

โ˜๏ธ Please refer to the top-left corner of the README for the table of contents.

Daily Status Check (Build + Test) Documentation
RTX 3090 desktop RTX 2080 Ti server website

Thank you so much for your interest in the DietCode project. The key objective of DietCode is to deliver high-performance programs for dynamic-shape tensor programs. Please kindly go through the documentation below that guides you on how to build and use the DietCode auto-scheduler framework.

News

We are actively working on the RFC for upstreaming the codebase to TVM, and will post the latest updates here.

Prerequisites

  • Minimum Requirement: A machine with a modern NVIDIA GPU and GPU driver version >= 465.19.01 (for CUDA 11.3 in the Dockerfile) [1].

  • Docker & Docker-Compose [2, 3]:

    # Docker
    curl https://get.docker.com | sh && sudo systemctl --now enable docker
    # Docker Post-Installation
    sudo groupadd docker
    sudo usermod -aG docker $USER
    newgrp docker
    # NVIDIA Docker
    ./scripts/0-install_nvidia_docker.sh
    # Docker-Compose
    sudo -H pip3 install docker-compose

Code Organization

  • tests: Contains tutorial examples (as well as test cases) for testing key features (i.e., local padding, auto-scheduling, and decision-tree dispatching) in terms of correctness and runtime performance. Please click on the folder for more details.

  • tvm: DietCode that is built on top of TVM. Please refer to this page for the changes made at this branch.

  • tvm_base: A clean TVM branch (denoted as Base) that has only a few changes (for performance benchmarking only). Please refer to this page for the changes made at this branch.

  • environ: Script files that can be activated to select different TVM branches (DietCode or Base). Note that at least one of the scripts MUST be activated before running the tests (some require the DietCode branch while others require Base):

    # DietCode
    source environ/activate_dietcode.sh
    # Base
    source environ/activate_base.sh

Build Instructions

  • Build and Run the Docker image:

    docker-compose run --rm tvm-dev
  • Build DietCode and Base:

    # DietCode
    ./scripts/1-build.sh tvm
    # Base
    ./scripts/1-build.sh tvm_base

How To?

  • Get started with DietCode?

    • Please refer to the tests folder that contains examples demonstrating the code generation optimizations and the auto-scheduler frontend interface of DietCode.
  • Know the implementation details of DietCode?

    • Please refer to the tvm submodule and this page for the changes made at this branch. We did our best to document the code thoroughly, with the key changes highlighted using the <DietCode> tag.

References

dietcode's People

Contributors

armageddonknight avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.