{"id":16731731,"url":"https://github.com/sbromberger/gompi","last_synced_at":"2025-09-10T10:33:54.412Z","repository":{"id":35603681,"uuid":"215362271","full_name":"sbromberger/gompi","owner":"sbromberger","description":"OpenMPI bindings for the Go programming language","archived":false,"fork":false,"pushed_at":"2025-08-08T06:55:24.000Z","size":62,"stargazers_count":43,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-08T21:43:02.995Z","etag":null,"topics":["go","golang","hpc","mpi","openmpi","parallel"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sbromberger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-10-15T17:52:52.000Z","updated_at":"2025-08-03T23:13:03.000Z","dependencies_parsed_at":"2025-09-10T10:33:46.491Z","dependency_job_id":null,"html_url":"https://github.com/sbromberger/gompi","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/sbromberger/gompi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbromberger%2Fgompi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbromberger%2Fgompi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbromberger%2Fgompi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbromberger%2Fgompi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbromberger","download_url":"https://codeload.github.com/sbromberger/gompi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbromberger%2Fgompi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274447536,"owners_count":25287113,"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","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"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":["go","golang","hpc","mpi","openmpi","parallel"],"created_at":"2024-10-12T23:38:41.806Z","updated_at":"2025-09-10T10:33:54.394Z","avatar_url":"https://github.com/sbromberger.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI](https://github.com/sbromberger/gompi/actions/workflows/ci.yml/badge.svg)](https://github.com/sbromberger/gompi/actions/workflows/ci.yml)\n\nGoMPI: Message Passing Interface for Parallel Computing\n\nThe `gompi` package is a lightweight wrapper to the [OpenMPI](https://www.open-mpi.org) C++ library\ndesigned to develop algorithms for parallel computing.\n\nGoMPI is a fork of the [gosl](https://github.com/cpmech/gosl) MPI library with additional methods.\n\n## Installation\n\n1) install [OpenMPI](https://www.open-mpi.org) for your system\n2) ensure  [golang.org/x/tools/cmd/stringer](https://godoc.org/golang.org/x/tools/cmd/stringer) is installed (`go install` if not)\n3) run `make install`\n\n(Other `make` options include `test`, `build`, and `clean`.)\n\n\n## Performance\n\nNote: latency benchmarks updated August 2025.\n\nOSU bechmarks run using `mpirun -n 2 ./osu_latency -i 1000 -x 200` with datatype = `MPI_Char`.\nGoMPI benchmarks run using `mpirun -n 2 go run latency.go`.\n\n| message size (bytes) | GoMPI (µs) | OSU MPI Latency Test v7.5 (µs) |\n|---|---|---|\n| 1 | 0.16 | 0.11 |\n| 2 | 0.18 | 0.11 |\n| 4 | 0.16 | 0.11 |\n| 8 | 0.17 | 0.11 |\n| 16 | 0.17 | 0.11 |\n| 32 | 0.17 | 0.11 |\n| 64 | 0.17 | 0.12 |\n| 128 | 0.19 | 0.13 |\n| 256 | 0.19 | 0.16 |\n| 512 | 0.28 | 0.26 |\n| 1024 | 0.29 | 0.28 |\n| 2048 | 0.34 | 0.35 |\n| 4096 | 0.76 | 0.77 |\n| 8192 | 0.92 | 0.88 |\n| 16384 | 1.28 | 1.10 |\n| 32768 | 1.96 | 1.45 |\n| 65536 | 3.07 | 2.59 |\n| 131072 | 4.48 |  4.98 |\n| 262144 | 7.71 | 7.64 |\n| 524288 | 13.71 | 13.25 |\n| 1048576 | 25.99 | 25.25 |\n| 2097152 | 56.97 | 49.65 |\n| 4194304 | 140.32 | 244.79 |\n\nBenchmark code may be found in `cmd/latency.go`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbromberger%2Fgompi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbromberger%2Fgompi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbromberger%2Fgompi/lists"}