{"id":19706113,"url":"https://github.com/llnl/ross-matrix-models","last_synced_at":"2025-07-18T02:40:53.833Z","repository":{"id":66083038,"uuid":"165154903","full_name":"LLNL/ross-matrix-models","owner":"LLNL","description":"Finite ring matrix algebra benchmark models for ROSS.","archived":false,"fork":false,"pushed_at":"2020-09-29T18:02:56.000Z","size":24,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-24T14:15:55.070Z","etag":null,"topics":["cpp","discrete-event-simulation","llnl","parallel-distributed-computing","pdes","ross"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LLNL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-01-11T00:59:16.000Z","updated_at":"2020-03-05T22:59:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"92c17864-5cab-49c7-8c93-cce28287e9f1","html_url":"https://github.com/LLNL/ross-matrix-models","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"35b46925da77909b231efec0cb231be3420c3026"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fross-matrix-models","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fross-matrix-models/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fross-matrix-models/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fross-matrix-models/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LLNL","download_url":"https://codeload.github.com/LLNL/ross-matrix-models/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241020712,"owners_count":19895481,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","discrete-event-simulation","llnl","parallel-distributed-computing","pdes","ross"],"created_at":"2024-11-11T21:34:05.085Z","updated_at":"2025-02-27T13:50:35.213Z","avatar_url":"https://github.com/LLNL.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Matrix Models\n\nThis repository contains 2 models for testing the LLNL-modified version of ROSS.\nThey demonstrate the use of the time class, LP interface, and event cancellation.\n\n## Models\n\nmatrix:\n\n A model used for debugging.\n It is kind of like PHOLD, but also enables proving that messages were received in order, using a finite ring matrix algebra.\n\nmatrix-cancel:\n\n  A model used for debugging and illustration of event cancellation (retraction).\n  Also exercises commit function.\n\n## Building the code:\n\n1. Build the LLNL-modified ROSS:\n\n    ```\n    cd ross/src\n    # Edit Makefile to set copmiler name (one of the first lines)\n    # currectly the compiler is mpicxx (MPI C++ compiler necessary).\n    # Make and copy library to ../lib directory:\n    make\n    make install\n    cd ../..\n    ```\n\n2. Build matrix model:\n\n    ```\n    cd matrix\n    # Set compiler also in compile.matrix-model\n    # Build:\n    . compile.matrix-model\n    cd ..\n    ```\n\n3. Run test:\n\n    ```\n    cd matrix\n    # Test run script usus mpirun to launch a parallel job.\n    # this is a small test and runs as is on many login nodes,\n    # workstations, and laptops. For other machines, getting\n    # a node allocation might be required first, and perhaps\n    # replacing mpirun with e.g. srun.\n    ./run.matrix-model\n\n    # The output of the test run can be compared for correctness\n    # with sample output at the end of the run.matrix-model file.\n    # See that file for more details.\n    cd ..\n    ```\n\n4. Build matrix-cancel model:\n\n    ```\n    cd matrix-cancel\n    . compile.matrix-cancel\n    cd ..\n    ```\n\n5. Run matrix-cancel test:\n\n    ```\n    cd matrix-cancel\n    ./runloop.sh\n    ```\n\n   Test takes maybe a couple of minutes. Lots of text data is eventually\n   dumped to the screen. This data is also saved in files with names\n   run.out.x.y where x is number of nodes (1 in runloop.sh at this time),\n   and y is number of MPI tasks per node.\n\n   At the end of the test, the name of each run.out.* file is printed\n   in between #'s. After each name is printed is a diff of relevant\n   data betwen this output file and a sequential run. If the runs\n   (code) are correct, there should be no output from diff, and just\n   the file names are listed.\n\n\n6. Enjoy :-)\n\n## Release\n\nFor 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.\n\nLLNL-CODE-764399\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllnl%2Fross-matrix-models","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fllnl%2Fross-matrix-models","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllnl%2Fross-matrix-models/lists"}