Code Monkey home page Code Monkey logo

scalatrace-ti's Introduction

ScalaTrace-TI

Merging Time Independent Trace Replay and ScalaTrace

Project started by F. Suter and H. Casanova on May 2, 2014 based on the official distribution of ScalaTrace V2. All source files have been added a proper comment fixing the copyright before any modification of the code.

Here follows the original README from the ScalaTraceV2 distribution ##################################################################

Introduction

##################################################################

This is a distribution of ScalaTrace 2, the next generation of the ScalaTrace tool that collects communication traces for parallel applications using the Message Passing Interface.

##################################################################

To compile

##################################################################

This ScalaTrace 2 package contains two components: ScalaTrace (the tracing tool) and ScalaReplay (a replay engine for the ScalaTrace traces).

To compile ScalaTrace,

  • cd ./record/config
  • Edit Makefile.config
  • cd ..
  • make
  • cd ..
  • cd ./stackwalk/ver0
  • make

Configurable options:

Edit ./record/libsrc/Makefile.libsrc

  • RETAIN_TAGS: n: ignore TAG for MPI_Send, MPI_Recv, etc, for better compression y: preserve TAG

  • PARAM_HISTO: n: fully lossless tracing y: record SRC/DEST/COUNT parameters with histograms when lossless compression fails More configuration: HISTO_THRESHOLD: in ./record/common/inc/Param.h, the maximum vector length for an elastic data element to remain lossless, e.g., HISTO_THRESHOLD = 30

  • SIG_DIFF: integer: stack signature difference. This is the maximum number of different frames allowed in two signatures

  • LOOP_LCS: n: disable approximate loop matching y: enable approximate loop matching More configuration: MAX_LENGTH_DIFF: in ./record/common/inc/Trace.h, the maximum percentage difference on length for two loop iterations to be considered approximately matching, e.g., MAX_LENGTH_DIFF = 0.2 (20%)

To compile ScalaReplay

  • cd ./replay
  • Edit Makefile
  • make

Configurable options:

Edit ./replay/Makefile

  • HISTO_REPLAY n: deterministic replay, only applicable to fully lossless traces y: probabilistic replay, applicable to both lossless and lossy traces

  • RAND_DEST integer: maximum number of random destinations for each MPI task, e.g., RAND_DEST = 10

##################################################################

To run

##################################################################

To use ScalaTrace, link ScalaTrace with your application:

  • ST=/path/to/ScalaTrace
  • mpicxx -g -L$(ST)/record/lib -L$(ST)/stackwalk/ver0 app.c -o app -lglob -lstackwalk
  • mpirun -np ./app the trace file will be generated at application completion, in the folder trace_
  • Compression levels: libdump.a: trace with no compression libnode.a: trace with intra-node loop compression libglob.a: trace with both intra-node and inter-node compression

To use ScalaReplay, use an application trace (T) as the input

  • SR=/path/to/ScalaTrace/replay
  • mpirun -np $(SR)/replay /path/to/trace/T

##################################################################

Example

##################################################################

See ./test/1dstencil

scalatrace-ti's People

Contributors

frs69wq avatar anshulgupta0803 avatar henricasanova avatar

Watchers

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