Code Monkey home page Code Monkey logo

routing-calculator's Introduction

COMP2310/6310 Assignment 2 2021

Repository for COMP2310 Assignment 2 "Passing the Message"

Building

GNAT Studio

To build in GNAT Studio, build or run the test_routers program.

Manually

To build manually, run

gprbuild [-jN] [-Xmode=debug|release]

Set N to the number of files you want to build in parallel.

The scenario variables are as follows

  • mode: Controls the level of optimisation and runtime checks built into the program
    • debug (default): Build with minimal optimisation and stricter runtime checks, good for debugging and low compile time
    • release: Build with high optimisation and looser runtime checks, good for testing performance of a correct program

For example, to compile a release build on 4 cores you can run:

gprbuild -j4 -Xmode=release

Running

Configuration

Available network topologies are denoted by name together with the parameters which are required for a given topology. For example, you can test your routers in a 4-d hypercube by:

./build/debug/test_routers -t Hypercube -d 4

Use the help flag to print the full configuration parameters

$ ./build/debug/test_routers -h

accepted options:
   [-t {Topology            : String   }] -> CUBE_CONNECTED_CYCLES
      by Size            : Line, Ring, Star, Fully_Connected
      by Degree, Depths  : Tree
      by Dimension, Size : Mesh, Torus
      by Dimension       : Hypercube, Cube_Connected_Cycles,
                           Butterfly, Wrap_Around_Butterfly
   [-s {Size                : Positive }] ->  20
   [-g {Degree              : Positive }] ->   3
   [-p {Depths              : Positive }] ->   4
   [-d {Dimension           : Positive }] ->   3
   [-c {Print connections   : Boolean  }] -> TRUE
   [-i {Print distances     : Boolean  }] -> TRUE
   [-w {Routers settle time : Seconds  }] ->  0.10
   [-o {Comms timeout       : Seconds  }] ->  0.10
   [-m {Test mode           : String   }] -> ONE_TO_ALL
      Available modes: One_to_All, All_to_One
   [-x {Dropouts            : Natural  }] ->   0
   [-r {Repeats             : Positive }] -> 100
   [-h {Show help           : Flag     }] -> TRUE

routing-calculator's People

Contributors

tim-w-james avatar milthorpe 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.