https://github.com/llnl/ross-matrix-models
Finite ring matrix algebra benchmark models for ROSS.
https://github.com/llnl/ross-matrix-models
cpp discrete-event-simulation llnl parallel-distributed-computing pdes ross
Last synced: 4 months ago
JSON representation
Finite ring matrix algebra benchmark models for ROSS.
- Host: GitHub
- URL: https://github.com/llnl/ross-matrix-models
- Owner: LLNL
- License: bsd-3-clause
- Created: 2019-01-11T00:59:16.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-09-29T18:02:56.000Z (over 4 years ago)
- Last Synced: 2025-02-24T14:15:55.070Z (4 months ago)
- Topics: cpp, discrete-event-simulation, llnl, parallel-distributed-computing, pdes, ross
- Language: C++
- Homepage:
- Size: 23.4 KB
- Stars: 1
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/LLNL/ross-matrix-models/blob/master/LICENSE) and [NOTICE](https://github.com/LLNL/ross-matrix-models/blob/master/NOTICE) files.
LLNL-CODE-764399