Giter Site home page Giter Site logo

huaixil / flexasr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from harvard-acc/flexasr

0.0 1.0 0.0 734 KB

FlexASR: A Reconfigurable Hardware Accelerator for Attention-based Seq-to-Seq Networks

License: Other

C++ 94.89% Makefile 3.44% C 1.67%

flexasr's Introduction

FlexASR

FlexASR is an AXI-programmable hardware accelerator for attention-based seq-to-seq networks. FlexASR can be configured to accelerate end-to-end RNN, GRU or LSTM models with attention mechanisms (e.g. Listen-Attend-and-Spell models). It was designed in Synthesizable SystemC followed by high-level synthesis (HLS) in order to generate RTL.

Getting Started

Tool versions and environment setup

C++ simulation and HLS of FlexASR top-level and children modules have been verified to work with the following tool versions:

  • gcc - 4.9.3 (with C++11)
  • systemc - 2.3.1
  • boost - 1.55.0
  • catapult - 10.5a

In the cmod/cmod_Makefile, please provide the correct tool installation paths for BOOST_HOME, SYSTEMC_HOME and CATAPULT_HOME

Directory structure

  • cmod/include/*.h contains header files for functions and classes from FlexASR
  • cmod/<module> sub-directories contain FlexASR SystemC modules
  • matchlib library of synthesizable hardware components from NVIDIA

Build and run

C++ compile and simulation of SystemC module

The following commands run C++ compilation and simulation of the FlexASR accelerator top-level, executing 4 LSTM timesteps.

git clone --recursive https://github.com/harvard-acc/FlexASR.git
cd cmod/Top
make
make run

Citation

If you find this resource useful, please consider citing the following paper:

@inproceedings{Tambe_isscc2021,
  title = {A 25mm2 SoC for IoT Devices with 18ms Noise Robust Speech-to-Text Latency
           via Bayesian Speech Denoising and Attention-Based Sequence-to-Sequence
           DNN Speech Recognition in 16nm FinFET},
  author = {Thierry Tambe and En-Yu Yang and Glenn G. Ko and Yuji Chai
            and Coleman Hooper and Marco Donato and Paul N. Whatmough 
            and Alexander M. Rush and David Brooks and Gu-Yeon Wei},
  booktitle = {International Solid-State Circuits Conference (ISSCC)},
  year = {2021}
}

FlexASR was inspired by the Simba architecture. Please also consider citing the following paper:

@inproceedings{Shao_micro2019, 
  author = {Shao, Yakun Sophia and Clemons, Jason and Venkatesan, Rangharajan and
            Zimmer, Brian and Fojtik, Matthew and Jiang, Nan and Keller, Ben and
            Klinefelter, Alicia and Pinckney, Nathaniel and Raina, Priyanka and Tell,
            Stephen G. and Zhang, Yanqing and Dally, William J. and Emer, Joel and Gray, C.
            Thomas and Khailany, Brucek and Keckler, Stephen W.},
  title = {Simba: Scaling Deep-Learning Inference with Multi-Chip-Module-Based Architecture},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  booktitle = {Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture},
  year = {2019},
  pages = {14โ€“27},
  numpages = {14},
  keywords = {accelerator architecture, Multi-chip module, neural networks}
}

Contact Us

For any further questions please contact [email protected]

flexasr's People

Contributors

ttambe avatar huaixil avatar

Watchers

James Cloos 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.