Code Monkey home page Code Monkey logo

ross-matrix-models's Introduction

Matrix Models

This repository contains 2 models for testing the LLNL-modified version of ROSS. They demonstrate the use of the time class, LP interface, and event cancellation.

Models

matrix:

A model used for debugging. It is kind of like PHOLD, but also enables proving that messages were received in order, using a finite ring matrix algebra.

matrix-cancel:

A model used for debugging and illustration of event cancellation (retraction). Also exercises commit function.

Building the code:

  1. Build the LLNL-modified ROSS:

    cd ross/src
    # Edit Makefile to set copmiler name (one of the first lines)
    # currectly the compiler is mpicxx (MPI C++ compiler necessary).
    # Make and copy library to ../lib directory:
    make
    make install
    cd ../..
    
  2. Build matrix model:

    cd matrix
    # Set compiler also in compile.matrix-model
    # Build:
    . compile.matrix-model
    cd ..
    
  3. Run test:

    cd matrix
    # Test run script usus mpirun to launch a parallel job.
    # this is a small test and runs as is on many login nodes,
    # workstations, and laptops. For other machines, getting
    # a node allocation might be required first, and perhaps
    # replacing mpirun with e.g. srun.
    ./run.matrix-model
    
    # The output of the test run can be compared for correctness
    # with sample output at the end of the run.matrix-model file.
    # See that file for more details.
    cd ..
    
  4. Build matrix-cancel model:

    cd matrix-cancel
    . compile.matrix-cancel
    cd ..
    
  5. Run matrix-cancel test:

    cd matrix-cancel
    ./runloop.sh
    

    Test takes maybe a couple of minutes. Lots of text data is eventually dumped to the screen. This data is also saved in files with names run.out.x.y where x is number of nodes (1 in runloop.sh at this time), and y is number of MPI tasks per node.

    At the end of the test, the name of each run.out.* file is printed in between #'s. After each name is printed is a diff of relevant data betwen this output file and a sequential run. If the runs (code) are correct, there should be no output from diff, and just the file names are listed.

  6. Enjoy :-)

Release

For release details and restrictions, please read the LICENSE and NOTICE files.

LLNL-CODE-764399

ross-matrix-models's People

Contributors

gonsie avatar

Stargazers

 avatar

Watchers

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