Git Product home page Git Product logo

qshan / noculator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cmu-safari/noculator

0.0 1.0 0.0 1.12 MB

NOCulator is a network-on-chip simulator providing cycle-accurate performance models for a wide variety of networks (mesh, torus, ring, hierarchical ring, flattened butterfly) and routers (buffered, bufferless, Adaptive Flow Control, minBD, HiRD).

Home Page: http://users.ece.cmu.edu/~omutlu/pub/hierarchical-rings-with-deflection_sbacpad14.pdf

License: MIT License

Verilog 26.77% Makefile 0.33% SystemVerilog 0.01% Python 0.21% Shell 0.32% Coq 0.21% Tcl 1.49% Stata 0.01% C# 70.65%

noculator's Introduction

NOCulator

Command-line options for different router designs available in hring simulator:

#########

Torus

######### -torus true

Note: If one wants to maintain the same bisection bandwidth as the baseline mesh network, double the packet size (i.e., -router.dataPacketSize 8 -router.maxPacketSize 8).

#########

Flattened Butterfly

######### -fbfly true

#########

CHIPPER

######### -router.algorithm DR_FLIT_SWITCHED_CALF -edge_loop true -meshEjectTrial 2

meshEjectTrial is the width of ejection ports.

#########

VC-Buffered

######### -router.algorithm DR_AFC -afc_force true -afc_force_buffered true -meshEjectTrial 2

#########

HiRD

#########

-topology XXXX

HR_4drop: 4x4, each local ring has 1 bridge router to connect to the global ring (so totally 4 bridge routers(drops) connecting the global ring and its local rings)

HR_8drop: 4x4, each local ring has 2 bridge router to connect to the global ring (8-bridge)

HR_16drop: 4x4, each local ring has 4 bridge router to connect to the global ring (16-bridge)

HR_8_16drop: 8x8, each local ring has 16 bridge router to connect to the global ring

HR_8_8drop: 8x8, each local ring has 8 bridge router to connect to the global ring

HR_16_8drop: 16x16, each local ring has 8 bridge router to connect to the global ring

HR_32_8drop: 32x32, each local ring has 8 bridge router to connect to the global ring

#########

Hierarchical Buffered Ring, infinite buffers:

######### -topology BufRingNetworkMulti -bufrings_n 8 -bufrings_levels 3 -bufrings_inf_credit true

bufrings_n: number of virtual networks bufrings_levels: number of hierarchies bufrings_inf_credit: ideal buffers (no credits/no capacity limits

#########

Hierarchical Buffered Ring, finite buffers:

######### -topology BufRingNetworkMulti -bufrings_n 8 -bufrings_levels 3 -bufrings_inf_credit false -bufrings_L2G 8 -bufrings_G2L 4 -bufrings_localbuf 4 -bufrings_globalbuf 8

Please cite these following papers if you use this simulator:

MinBD router architecture:

  • Chris Fallin, Greg Nazario, Xiangyao Yu, Kevin Chang, Rachata Ausavarungnirun, Onur Mutlu. MinBD: Minimally-Buffered Deflection Routing for Energy-Efficient Interconnect. NoCs 2012.

HiRD router design and the hierarchical ring interconnect:

  • Rachata Ausavarungnirun, Chris Fallin, Xiangyao Yu, Kevin Chang, Greg Nazario, Reetuparna Das, Gabriel H. Loh, Onur Mutlu, "Design and Evaluation of Hierarchical Rings with Deflection Routing", SBAC-PAD 2014.

noculator's People

Contributors

rausavar avatar rausavarungnir 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.