Code Monkey home page Code Monkey logo

ece-cortical-mainresearch-array's Introduction

3D DRAM based architecture for Deep Neural Networks

 - the architecture includes a 3D-DRAM (e.g. DiRAM4), a manager layer and a PE array layer


Directories:

  python
      - DNNconnectivity
          * dnnConnectivityAndMemoryAllocation.py
                Creates connections between neurons of a deep neural network.
                Allocates DRAM and constructs instructions and storage descriptors
          * createReadmem.py
                Takes the output of dnnConnectivityAndMemoryAllocation.py and creates readmem files for the system simulation
      - NoC
          * generateConnectionConfig.py
              generates a configuration file used by https://github.ncsu.edu/lbbaker/ece-cortical-project-InterPE-NoC/tree/master/InterPERoutingTableGeneration
              Default config is mesh.
              the python code under https://github.ncsu.edu/lbbaker/ece-cortical-project-InterPE-NoC/tree/master/InterPERoutingTableGeneration generates verilog macros
              to define NoC connectivity and routing tables

  3DSystem
      /DOC
        - SystemColumn.pdf
            * Block diagram of single Manager, Stack bus and PE
        - Manager.pdf
            * manager block diamgram
         - PE.pdf
            * pe block diagram
         - WU hierarchy.pdf
             * system instructions
                 Shows the four basic instructions used to perform activation for a group of neurons
         - WU processing.pdf
             * shows how system instructions are decoded
         - InstructionWaveform.pdf
             * a simulation waveform showing a group of instructions being passed from the Work-Unit memory to the work-unit decoder
      /System 
        - under 3DSystem/System
        - RTL
            * Contains system which instantiates:
                array of managers
                array of PEs
                stack bus
        - Simulation 
            * system verilog
            * SV checks mamory writes to PE local and upstream stack bus packets to ensure values and addresses are correct
              - focuses on floating point operations
            * To run 
              a) cd 3DSystem/System/SIMULATION/sv
              b) source ../../setup.do
              c) make vsim
              d) Check for errors
                 i) grep ERROR transcript ; grep PASS transcript | wc -l
                      - should be no ERROR's and a PASS count of approx 24576
                ii) grep 'Packet.*sent.*from' transcript  | wc -l ; grep 'Received.*expected packet' transcript  | wc -l
                      - count sent packet and received packets. expect 710/710
      /Manager 
        - under 3DSystem/Manager
        - RTL 
            * complete except memory read and write controllers
                read controller generates memory controller page open requests
                still working on reading page and muxing to downstream
                write controller WIP
      /PEArray
        - under 3DSystem/PEArray
        - RTL completed with streaming Op for floating point operations for convolution
            * need to instantiate SIMD (currently convolution operations are passed directly back to the Manager through a SIMD wrapper)
        - Simulation
            * #### no longer maintained. superceded by System simulation ####
            * system verilog
            * SV checks mamory writes to PE local and upstream stack bus packets to ensure values and addresses are correct
              - focuses on floating point operations
            * To run PE Array simulation
              a) cd 3DSystem/PEArray/SIMULATION/sv
              b) source ../../setup.do
              c) ./compile.do compile.log
              d) grep ERROR transcript ; grep PASS transcript | wc -l
                 - should be no ERROR's and a PASS count of 20480
      

ece-cortical-mainresearch-array's People

Contributors

lbbaker 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.