Giter Club home page Giter Club logo

clink's Introduction

CLINK

Compact LSTM inference kernel (CLINK) designed in C/HLS for FPGA implementation.

Brief Description

The compact LSTM kernel is a one-hidden-layer N-node LSTM network. N is typically a small number, which indicates the network is compact.

It is originally designed to perform approximation on IIR filter functions without acausal delay, which is very useful for closed-loop EEG signal processing.

The idea and its implementation across platforms (especially on FPGA)can be extended for a variety of embedded real-time applications.

The C simulation is based on the test bench of EEG sampling sequence. Two benchmarks have been provided, corresponding to 16-bit fixed-point and 32-bit floating point data types, respectively.

The fixed-point CLINK kernel is implemented by Vivado HLS, and it is an acceleration kernel that can run on the FPGA.

The Vivado HLS kernel is time multiplexed by 16 slices, so that it can be shared among 16 different input EEG channels.

Reference

Please cite this paper when you find CLINK useful in your research. Thanks!

Zhe Chen, Hugh T. Blair, Andrew Howe, Jason Cong. CLINK: Compact LSTM Inference Kernel for Energy Efficient Neurofeedback Devices. International Symposium on Low Power Electronics and Design, Seattle, WA, July 23-25, 2018.

clink's People

Contributors

zhe-ch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

clink's Issues

On the issue of displacement in the calculation of fixed points

image Hello author, there are many different shifts in your fixed-point number calculation, what do these shifts mean? I understand 15 and 12 because you amplify these multiples in testbench for inputs and weights, but what does it mean to shift 5 bits to the right. image Also, when calculating h and c, what does the number of bits shifted to the right mean?

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.