{"id":49565228,"url":"https://github.com/aaronjs99/planmux","last_synced_at":"2026-05-03T11:13:11.597Z","repository":{"id":95301688,"uuid":"344840838","full_name":"aaronjs99/planmux","owner":"aaronjs99","description":"PlanMux: Path Planning using Parallel/Multiplexed Computing","archived":false,"fork":false,"pushed_at":"2025-07-05T00:02:27.000Z","size":80863,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-06T00:39:23.250Z","etag":null,"topics":["bellman-ford-algorithm","cpp","cuda","dijkstra-algorithm","floyd-warshall-algorithm","graphs","hpc","openmp","parallel-computing","path-planning","shortest-path-algorithm","slurm"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aaronjs99.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-03-05T14:46:37.000Z","updated_at":"2025-07-05T00:17:12.000Z","dependencies_parsed_at":"2025-07-31T01:13:10.092Z","dependency_job_id":null,"html_url":"https://github.com/aaronjs99/planmux","commit_stats":null,"previous_names":["aaronjohnsabu1999/planmux","aaronjs99/planmux"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aaronjs99/planmux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjs99%2Fplanmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjs99%2Fplanmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjs99%2Fplanmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjs99%2Fplanmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronjs99","download_url":"https://codeload.github.com/aaronjs99/planmux/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjs99%2Fplanmux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32566492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bellman-ford-algorithm","cpp","cuda","dijkstra-algorithm","floyd-warshall-algorithm","graphs","hpc","openmp","parallel-computing","path-planning","shortest-path-algorithm","slurm"],"created_at":"2026-05-03T11:13:11.057Z","updated_at":"2026-05-03T11:13:11.592Z","avatar_url":"https://github.com/aaronjs99.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Parallel Path Planning Algorithms\n\nThis repository provides serial and parallel implementations of three classical shortest path algorithms — **Dijkstra**, **Bellman-Ford**, and **Floyd-Warshall** — using **OpenMP** (CPU parallelism) and **CUDA** (GPU acceleration). The algorithms are tested on both real-world and synthetic graph data to evaluate performance scalability.\n\n---\n\n## Project Structure\n\n```\nplanmux/\n├── assets/                         # Algorithm-specific result assets (plots, charts)\n│   ├── bellman_ford/\n│   ├── dijkstra/\n│   └── floyd_warshall/\n├── config/                         # Runtime configuration files\n│   └── default.yaml\n├── results/                        # Benchmarking outputs\n│   ├── jobs/                       # SLURM or local job output logs\n│   ├── results.pdf                 # Consolidated result visualizations\n│   └── results.xlsx                # Raw performance data\n├── src/                            # All source code and executables\n│   ├── main.cpp                    # Entry point for general testing\n│   ├── USA-road-d_NY.txt           # Real-world graph dataset\n│   ├── bellman_ford/\n│   │   ├── bellman_ford_cuda.cu\n│   │   └── bellman_ford_openmp.cpp\n│   ├── dijkstra/\n│   │   ├── dijkstra_openmp.cpp\n│   │   └── dijkstra_openmp.sh\n│   └── floyd_warshall/\n│       ├── floyd_warshall_cuda.cu\n│       ├── floyd_warshall_cuda.sh\n│       ├── floyd_warshall_openmp.cpp\n│       └── floyd_warshall_openmp.sh\n├── .gitignore                      # Git ignored files and folders\n├── LICENSE                         # Project license (MIT)\n├── presentation.pdf                # Presentation (PDF version)\n├── presentation.pptx               # Presentation (PPTX version)\n├── report.pdf                      # Final technical report\n└── README.md                       # Project documentation (you are here)\n```\n\n---\n\n## Algorithms Implemented\n\n| Algorithm       | Serial | OpenMP | CUDA |\n|-----------------|--------|--------|------|\n| Dijkstra        | ✅    | ✅     | ❌  |\n| Bellman-Ford    | ✅    | ✅     | ✅  |\n| Floyd-Warshall  | ✅    | ✅     | ✅  |\n\n---\n\n## Build \u0026 Run\n\n### Prerequisites\n\n- **C++ Compiler**: g++ with OpenMP support (`-fopenmp`)\n- **GPU Support**: NVIDIA GPU + CUDA Toolkit (`nvcc`)\n- **Shell Environment**: Bash (Linux, WSL, or Git Bash on Windows)\n- If on Windows, ensure Visual Studio Build Tools are installed and properly configured\n- For CUDA builds on Windows, you must provide the correct path to `cl.exe` via `-ccbin`\n\n### Compilation Examples\n\n#### Dijkstra (OpenMP)\n```bash\ng++ ./src/dijkstra/dijkstra_openmp.cpp -o dijkstra_openmp -fopenmp -std=c++17\n./dijkstra_openmp \u003cnum_nodes\u003e \u003cnum_threads\u003e\n```\n\n#### Bellman-Ford (OpenMP)\n```bash\ng++ ./src/bellman_ford/bellman_ford_openmp.cpp -o bellman_ford_openmp -fopenmp -std=c++17\n./bellman_ford_openmp \u003cnum_nodes\u003e \u003cnum_threads\u003e\n```\n\n#### Bellman-Ford (CUDA)\n```bash\nnvcc ./src/bellman_ford/bellman_ford_cuda.cu -o bellman_ford_cuda -ccbin \"C:/Path/To/cl.exe/Folder\"\n./bellman_ford_cuda \u003cnum_nodes\u003e\n```\n\n#### Floyd-Warshall (OpenMP)\n```bash\ng++ ./src/floyd_warshall/floyd_warshall_openmp.cpp -o floyd_warshall_openmp -fopenmp -std=c++17\n./floyd_warshall_openmp \u003cnum_nodes\u003e \u003cnum_threads\u003e\n```\n\n#### Floyd-Warshall (CUDA)\n```bash\nnvcc ./src/floyd_warshall/floyd_warshall_cuda.cu -o floyd_warshall_cuda -ccbin \"C:/Path/To/cl.exe/Folder\"\n./floyd_warshall_cuda \u003cnum_nodes\u003e\n```\n\n---\n\n## Dataset Information\n\n- **USA-road-d_NY.txt**: New York road network from the [DIMACS Challenge Dataset](http://users.diag.uniroma1.it/challenge9/download.shtml)\n- **Synthetic graphs**: Randomly generated with controlled node/edge parameters (see `assets/`)\n\n---\n\n## Results\n\nResults are summarized in the following files:\n\n- `results/results.pdf`: Performance graphs and discussion\n- `results/results.xlsx`: Raw benchmarking data (execution time, speed-up, etc.)\n\nPerformance was evaluated on:\n\n- Execution time (serial vs. OpenMP vs. CUDA)\n- Varying graph sizes (sparse to dense)\n- Real vs. synthetic graphs\n\n---\n\n## Documentation\n\n- `report.pdf`: Complete technical report with algorithm details and experimental results\n- `presentation.pptx`: Final presentation slides\n\n---\n\n##  Authors\n\n- **Aaron John Sabu** – [@aaronjohnsabu1999](https://github.com/aaronjohnsabu1999)  \n- **Athul CD** – [@athulcd](https://github.com/athulcd)  \n- **Ayan Sharma** – [@ayan-2004](https://github.com/ayan-2004)  \n- **Vaibhav Malviya** – [@Vaibhav110](https://github.com/Vaibhav110)\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronjs99%2Fplanmux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronjs99%2Fplanmux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronjs99%2Fplanmux/lists"}