Giter Site home page Giter Site logo

hunoutl / starvz Goto Github PK

View Code? Open in Web Editor NEW

This project forked from schnorr/starvz

0.0 0.0 0.0 17.91 MB

R-based visualization techniques for the StarPU runtime

License: GNU General Public License v3.0

Shell 4.57% C++ 3.46% C 2.30% R 89.54% Dockerfile 0.14%

starvz's Introduction

StarVZ



StarVZ consists in a performance analysis workflow that combines the power of the R language (and the tidyverse realm) and many auxiliary tools to provide a consistent, flexible, extensible, fast, and versatile framework for the performance analysis of task-based applications that run on top of the StarPU runtime (with its MPI layer for multi-node support). Its goal is to provide a fruitful prototypical environment to conduct performance analysis hypothesis-checking for task-based applications that run on heterogeneous (multi-GPU, multi-core) multi-node HPC platforms.

The source code of this framework is released under the GPLv3 license.

Instalation

# To install the R package
install.packages("devtools")
devtools::install_github("schnorr/starvz")

Non-R Dependencies for the whole workflow

  • starpu_fxt_tool: Provided by StarPU
  • pj_dump: Provided by PageNG
  • rec2csv: Provided by recutils

Quick Usage

Full Workflow - From FxT to Visualization

With starpu_fxt_tool, pj_dump, and rec2csv in $PATH:

export EXP_FOLDER=/folder_to_fxt_files/

export STARVZ_TOOLS=$(Rscript -e 'cat(system.file("tools/", package = "starvz"), sep="\n")')

$STARVZ_TOOLS/starvz $EXP_FOLDER

This generates $EXP_FOLDER/starvz.png

This is equivalent to:

$STARVZ_TOOLS/phase1-workflow.sh $EXP_FOLDER
$STARVZ_TOOLS/phase2-workflow.R $EXP_FOLDER $STARVZ_TOOLS/../etc/default.yaml

The tools will be available after instalation inside the package folder subdirectory tools/.

This can be retrived by:

Rscript -e 'cat(system.file("tools/", package = "starvz"), sep="\n")'

Phase 2 (Visualizations) in R:

library(starvz)
data <- starvz_read("/folder_to_fxt_files/")
plot <- starvz_plot(data)
plot

plot will be a ggplot object that can be saved with ggsave

Extended Content

Origin and Publications

A preliminary version of this framework has been released in the companion website (check the reproducible paper link below) of the VPA 2016 workshop (held during the SC16 conference). A second release of the framework is available in the companion website of an accepted article to Wiley’s Concurrent and Computation: Practice and Experience. A memory analysis extension was developed and discussed in the third publication at CCGRID 2019.

  • Analyzing Dynamic Task-Based Applications on Hybrid Platforms: An Agile Scripting Approach, Vinicius Garcia Pinto, Luka Stanisic, Arnaud Legrand, Lucas Mello Schnorr, Samuel Thibault, Vincent Danjean, in 2016 Third Workshop on Visual Performance Analysis (VPA@SC), Salt Lake City, UT, 2016, pp. 17-24.
  • A Visual Performance Analysis Framework for Task-based Parallel Applications running on Hybrid Clusters, Vinicius Garcia Pinto, Lucas Mello Schnorr, Luka Stanisic, Arnaud Legrand, Samuel Thibault, Vincent Danjean, in Concurrency and Computation: Practice and Experience, Wiley, 2018, 30 (18), pp.1-31.
  • Visual Performance Analysis of Memory Behavior in a Task-Based Runtime on Hybrid Platforms, Lucas Leandro Nesi, Samuel Thibault, Luka Stanisic and Lucas Mello Schnorr, in 2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID), Larnaca, Cyprus, 2019, pp. 142-151.

Docker container

Please check this DockerFile to create a docker container with all the necessary requirements for a basic utilization of the starvz framework (in the form of an R package). Assuming that you have docker installed in your system, you may want to simply pull and run this container from Docker Hub, like this:

docker pull schnorr/starvz
docker run -it schnorr/starvz

After entering the container, run R and load the starvz package with:

library(starvz)

Team and Contact

Getting help

Fell free to post an issue here in GitHub.

starvz's People

Contributors

llnns avatar schnorr avatar viniciusvgp avatar mmiletto avatar guilhermealles avatar nealrichardson 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.