Skip to content

Commit bbcbb66

Browse files
committed
Document MPI smoke-test CI
1 parent 8a57592 commit bbcbb66

1 file changed

Lines changed: 22 additions & 2 deletions

File tree

‎README.md‎

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@
44
<img src="https://img.shields.io/badge/Status-Completed-brightgreen.svg" alt="Completed">
55
<img src="https://img.shields.io/badge/Language-C99-blue.svg" alt="C99">
66
<img src="https://img.shields.io/badge/Parallelism-MPI-green.svg" alt="MPI">
7+
<a href="https://github.com/Kandil2001/Distributed-TSP-Solver/actions/workflows/ci.yml">
8+
<img src="https://github.com/Kandil2001/Distributed-TSP-Solver/actions/workflows/ci.yml/badge.svg" alt="MPI build and smoke test">
9+
</a>
710
<img src="https://img.shields.io/badge/License-MIT-lightgrey.svg" alt="MIT License">
8-
<a href="https://kandil2001.github.io/">
9-
<img src="https://img.shields.io/badge/Portfolio-kandil2001.github.io-2ea44f.svg" alt="Portfolio">
11+
<a href="https://kandil2001.github.io/projects/distributed-tsp.html">
12+
<img src="https://img.shields.io/badge/Portfolio-Case%20Study-2ea44f.svg" alt="Portfolio case study">
1013
</a>
1114
</p>
1215

@@ -28,6 +31,7 @@ The project was developed for a High Performance Computing course at Bergische U
2831
- deadlock-free communication between neighboring MPI ranks
2932
- strong-scaling measurements across several process counts
3033
- Octave scripts for runtime, efficiency, and route-quality plots
34+
- GitHub Actions production build and two-rank smoke execution
3135

3236
## How the solver works
3337

@@ -102,6 +106,21 @@ Submit the cluster scaling study with:
102106
sbatch script/scaling_test.sh
103107
```
104108

109+
## Continuous integration
110+
111+
The GitHub Actions workflow performs two separate checks:
112+
113+
1. it builds the production solver with the unchanged scientific defaults
114+
2. it builds a temporary reduced-iteration binary in the CI runner and executes it with two MPI ranks
115+
116+
The smoke run verifies that:
117+
118+
- MPI communication completes without hanging
119+
- the global reduction returns a finite positive route length
120+
- the saved route is a valid permutation of all 52 Berlin52 cities
121+
122+
The temporary iteration reduction is used only to keep CI fast. It does not change the repository’s production solver or the published scaling results.
123+
105124
## Repository structure
106125

107126
```text
@@ -110,6 +129,7 @@ script/scaling_test.sh cluster scaling study
110129
script/plot_*.m Octave plotting scripts
111130
data/berlin52.tsp included benchmark case
112131
figures/ selected published plots
132+
.github/workflows/ci.yml production build and MPI smoke test
113133
Makefile local build configuration
114134
```
115135

0 commit comments

Comments
 (0)