Skip to content

Finite ring matrix algebra benchmark models for ROSS.

License

Notifications You must be signed in to change notification settings

LLNL/ross-matrix-models

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy