{"id":17602837,"url":"https://github.com/wrathematics/spar","last_synced_at":"2025-03-29T22:14:51.676Z","repository":{"id":69285910,"uuid":"211527490","full_name":"wrathematics/spar","owner":"wrathematics","description":"Sparse Allreduce","archived":false,"fork":false,"pushed_at":"2020-07-07T22:22:36.000Z","size":956,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-04T23:03:22.285Z","etag":null,"topics":["allreduce","mpi","sparse","sparse-matrices"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wrathematics.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","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":"2019-09-28T16:14:01.000Z","updated_at":"2020-07-07T22:02:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"e077aeb9-17ff-4f7e-a3c7-c351b23be9e9","html_url":"https://github.com/wrathematics/spar","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrathematics%2Fspar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrathematics%2Fspar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrathematics%2Fspar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wrathematics%2Fspar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wrathematics","download_url":"https://codeload.github.com/wrathematics/spar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246249218,"owners_count":20747168,"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":["allreduce","mpi","sparse","sparse-matrices"],"created_at":"2024-10-22T13:24:28.679Z","updated_at":"2025-03-29T22:14:51.644Z","avatar_url":"https://github.com/wrathematics.png","language":"C++","readme":"# spar\n\n* **Version:** 0.2-0\n* **Status:** [![Build Status](https://travis-ci.org/wrathematics/spar.png)](https://travis-ci.org/wrathematics/spar)\n* **License:** [BSL-1.0](http://opensource.org/licenses/BSL-1.0)\n* **Project home**: https://github.com/wrathematics/spar\n* **Bug reports**: https://github.com/wrathematics/spar/issues\n* **Documentation**: http://librestats.com/spar/html/index.html\n\n\u003cimg align=\"right\" src=\"./docs/logo/spar_med.png\" /\u003e\n\nspar is the Sparse Allreduce library, a header-only C++14 framework. Its purpose is to enable the addition of many sparse matrices in CSC format, with the matrices spread across multiple processors.\n\nA sparse allreduce is different from the addition of two distributed, sparse matrices. In that case, every process contains a piece of each of the two distributed matrices. After the sum each process contains a piece of the new distributed matrix, whose entries are the sum of the two. In a sparse allreduce, each of the, say, `p` processes has a sparse matrix, all of the `p` matrices are added, and afterwards, one or all processes contain the sum.\n\n\n\n## Installation and Other Software\n\nThe library is header-only so no installation is strictly necessary. You can just include a copy/submodule in your project. However, if you want some analogue of `make install`, then you could do something like:\n\n```bash\nln -s ./src/spar /usr/include/\n```\n\nStable releases are posted [on GitHub](https://github.com/wrathematics/spar/releases). Additionally, you can download the development version via:\n\n```\ngit clone --recurse-submodules https://github.com/wrathematics/spar.git\n```\n\nTo use the reducers, you will need an installation of MPI.\n\nTests use [catch2](https://github.com/catchorg/Catch2), a copy of which is included under `tests/catch`. To build the tests, modify `tests/make.inc` as appropriate and type `make`.\n\nTo use the library with Eigen, you will need a copy of [the Eigen headers](http://eigen.tuxfamily.org/index.php?title=Main_Page). You may find the [eigen example](examples/mpi/eigen.cpp) helpful.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwrathematics%2Fspar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwrathematics%2Fspar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwrathematics%2Fspar/lists"}