Giter Club home page Giter Club logo

rio's Introduction

Run-in-Order

This repository contains the source code of the Rio (Run-in-Order) runtime and benchmarks for both Rio and StarPU measuring their ability to execute fine-grained Sequential Task Flow (STF) programs.

The repository is organized as follow:

  • rio: A Rust project containing two crates:
    • rio: The source code of the Rio runtime.
    • experiments: The source code of experiments used for benchmarking Rio.
  • starpu: The source of experiments usef for benchmarking StarPU.
  • bare_metal: A single threaded C implementation of the Rio and StarPU experiments, used for reference.
  • scripts: Python scripts to automate the benchmarks.
  • bench: A tool for collecting statistics about programs using performance counters, used by the python scripts.

Requirements

Compiling and running the benchmarks require the following dependencies (in parenthesis are the versions we used):

  • A C compiler (gcc 10.2.0)
  • A Rust compiler (rustc 1.51)
  • StarPU (1.3.8)
  • hwloc (2.4.1)
  • python (3.9.6)

Usage

The experiments are run using the benchmark scrips scripts/benchmark_efficiency.py and scripts/benchmark_workers.py. Both script produce a json file that can be used to plot different figures using the scripts/plot_efficiency.py and scripts/plot_workers.py scripts. All scripts accept a -h or --help argument that can be used to learn about configuration options.

To plot the efficiency decomposition, the following commands can be used:

python scrips/benchmark_efficiency.py -f efficiency.json --timeout 100 --average-on 3 --nb-threads 24 --experiment counter_deps --verbose
python scripts/plot_efficiency.py -f efficiency.json

And to plot the execution time for different number of workers with a miximum of 64 (2โถ) workers:

python scripts/benchmark_workers.py -f workers.json --timeout 100 --average-on 3 --nb-threads 6 --size 22 --task-size 20
python scripts/plot_workers.py -f workers.json

rio's People

Contributors

charlycst avatar

Watchers

James Cloos avatar  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.