{"id":20048471,"url":"https://github.com/aggstam/mpi_d_step_sssp","last_synced_at":"2026-06-04T22:31:41.339Z","repository":{"id":155101771,"uuid":"424250118","full_name":"aggstam/mpi_d_step_sssp","owner":"aggstam","description":"This program implements D-Stepping algorithm introduced by U.Mayers and P.Sanders, using SSSP algorith for faster execution.","archived":false,"fork":false,"pushed_at":"2025-11-30T13:29:12.000Z","size":60,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-02T19:50:45.397Z","etag":null,"topics":["algorithm","c","mpi","parallel"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aggstam.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}},"created_at":"2021-11-03T14:10:08.000Z","updated_at":"2025-11-30T13:29:16.000Z","dependencies_parsed_at":"2023-06-05T06:00:43.720Z","dependency_job_id":null,"html_url":"https://github.com/aggstam/mpi_d_step_sssp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aggstam/mpi_d_step_sssp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Fmpi_d_step_sssp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Fmpi_d_step_sssp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Fmpi_d_step_sssp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Fmpi_d_step_sssp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aggstam","download_url":"https://codeload.github.com/aggstam/mpi_d_step_sssp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aggstam%2Fmpi_d_step_sssp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33923173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["algorithm","c","mpi","parallel"],"created_at":"2024-11-13T11:44:13.182Z","updated_at":"2026-06-04T22:31:41.334Z","avatar_url":"https://github.com/aggstam.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mpi_d_step_sssp\nThis program implements D-Stepping algorithm introduced by U.Mayers and P.Sanders [1], using SSSP algorith for faster execution [2].\n\u003cbr\u003e\nA graphical presentation of the algorith can be found in link:\n\u003cbr\u003e\n  https://cs.iupui.edu/~fgsong/LearnHPC/sssp/deltaStep.html\n\u003cbr\u003e\nGraph is read from an input file created by RandomGraph generator by S.Pettie and V.Ramachandran [3].\n\u003cbr\u003e\nTwo implementations are included, one executing the algorithm in serial, and one using the MPI Standard.\n\u003cbr\u003e\nMPI implementation requires *openmpi* package to be installed.\n\n## Usage\nBoth version can be invocted via the Makefile, or by directly compiling and executing.\n\n### Make usage\n#### Normal code\n```shell\n$ make\n```\nTo configure D step value:\n```shell\n$ make DSTEP={d_step}\n```\nTo include a different input file:\n```shell\n$ make FILE={file_path}\n```\nTo configure a different output file:\n```shell\n$ make OUTPUT={file_path}\n```\n\n#### MPI code\n```shell\n$ make mpi\n```\nTo configure different how many processes to use:\n```shell\n$ make mpi PROCESSES={processes}\n```\nTo configure D step value:\n```shell\n$ make mpi DSTEP={d_step}\n```\nTo include a different input file:\n```shell\n$ make mpi FILE={file_path}\n```\nTo configure a different output file:\n```shell\n$ make mpi OUTPUT={file_path}\n```\n\n### Direct usage\n#### Normal code\nCompilation:\n```shell\n$ gcc -o d_step_sssp d_step_sssp.c\n```\nExecution:\n```shell\n$ ./d_step_sssp {d_step} {input_file} {output_file}\n```\n\n#### MPI code\nCompilation:\n```shell\n$ mpicc -lm -o mpi_d_step_sssp mpi_d_step_sssp.c\n```\nExecution:\n```shell\n$ mpiexec -np {processes} ./mpi_d_step_sssp {d_step} {input_file} {output_file}\n```\n\n## Execution examples\n### Normal code\n```shell\n$ make\nExecuting normal code...\ngcc -o d_step_sssp d_step_sssp.c\n./d_step_sssp 0.25 grph_1000 output\nFinding shortest path distances for each node of a Graph using D-Stepping algorithm.\nD-Stepping value: 0.250000\nGraph will be retrieved from input file: grph_1000\nDistances matrix will be written in output file: output\nNodes count: 1000\nAlgorithm started, please wait...\nAlgorithm finished!\nTime spend: 15.210633 secs\nWriting distances to output file.\nProgram terminates.\n```\n\n### MPI code\n```shell\n$ make mpi\nExecuting MPI code...\nmpicc -lm -o mpi_d_step_sssp mpi_d_step_sssp.c\nmpiexec -np 4 ./mpi_d_step_sssp 0.25 grph_1000 output\nFinding shortest path distances for each node of a Graph using D-Stepping algorithm.\nD-Stepping value: 0.250000\nGraph will be retrieved from input file: grph_1000\nDistances matrix will be written in output file: output\nNodes count: 1000\nAlgorithm started, please wait...\nAlgorithm finished!\nTime spend: 3.957982 secs\nWriting distances to output file.\n```\n\n## References\n[1] Ulrich Meyer and Peter Sanders. Δ-stepping: a parallelizable shortest path algorithm. Journal of\nAlgorithms 49.1 (2003): 114-152.\n\u003cbr\u003e\n[2] Chakaravarthy, V.T.; Checconi, F.; Petrini, F.; Sabharwal, Y. Scalable Single Source Shortest Path\nAlgorithms for Massively Parallel Systems, 28th IEEE International Parallel and Distributed Processing\nSymposium , pp.889-901, 201\n\u003cbr\u003e\n[3] http://www.dis.uniroma1.it/challenge9/code/Randgraph.tar.gz\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faggstam%2Fmpi_d_step_sssp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faggstam%2Fmpi_d_step_sssp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faggstam%2Fmpi_d_step_sssp/lists"}