Git Product home page Git Product logo

dfsynthesizer's Introduction

DFSynthesizer

DFSynthesizer is a dataflow-based synthesizer that enables SNN-to-neuromorphic-hardware mapping exploration.

(Tested) Environment

Tool Version
Ubuntu 20.04
Boost C++ Libraries 1.71
GCC/G++ 9.3
GNU Make 4.2.1

Installation

cd sdf3
make
cd ..

Tutorials

Normal execution (no custom tile binding specified)

Command

cd tutorial/normal_execution
../../sdf3/build/release/Linux/bin/sdf3flow-sdf --settings sdf3.opt

Console output

...
[DFSynthesizer] Original actor-tile mapping. 
[DFSynthesizer] Tile tile_a: mb_encoding motion_compensation 
[DFSynthesizer] Tile tile_b: mb_decoding 
[DFSynthesizer] Tile tile_c: vlc 
[DFSynthesizer] Tile tile_d: motion_estimation
...

Go back to the repository root

cd ../..

Custom actor-to-tile binding

Command

cd tutorial/custom_actor_to_tile_binding
../../sdf3/build/release/Linux/bin/sdf3flow-sdf --settings sdf3_tb_2.opt

Console output

...
[DFSynthesizer] Original actor-tile mapping. 
[DFSynthesizer] Tile tile_0: actor_0 actor_3 
[DFSynthesizer] Tile tile_1: actor_5 actor_7 
[DFSynthesizer] Tile tile_2: actor_2 
[DFSynthesizer] Tile tile_3: actor_4 actor_1
...
[DFSynthesizer] Custom actor-tile mapping.
[DFSynthesizer] Tile tile_0: actor_0 actor_1 actor_2 actor_3 
[DFSynthesizer] Tile tile_1: actor_4 actor_5 actor_7
...

Investigate sdf3_tb_2.opt

vim sdf3_tb_2.opt
...
9     <TileBinding file="tile_binding_2.txt"/>
...

Investigate tile_binding_2.txt

vim tile_binding_2.txt
0 0 1 2 3
1 4 5 7

tile_binding_2.txt explanation

0 0 1 2 3
1 4 5 7
    Map 0,1,2,3 to tile 0
    Map 4,5,7 to tile 1

dfsynthesizer's People

Stargazers

 avatar

Watchers

 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.