forked from facebookincubator/gloo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Summary: TSIA Differential Revision: D4591755 fbshipit-source-id: fa435f4ad6b97453c3c9516b4bfc9f8f0fb2e4f1
- Loading branch information
Showing
5 changed files
with
93 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Contributing to Gloo | ||
We want to make contributing to this project as easy and transparent as | ||
possible. | ||
|
||
## Pull Requests | ||
We actively welcome your pull requests. | ||
|
||
1. Fork the repo and create your branch from `master`. | ||
2. If you've added code that should be tested, add tests. | ||
3. If you've changed APIs, update the documentation. | ||
4. Ensure the test suite passes. | ||
5. Make sure your code lints. | ||
6. If you haven't already, complete the Contributor License Agreement ("CLA"). | ||
|
||
## Contributor License Agreement ("CLA") | ||
In order to accept your pull request, we need you to submit a CLA. You only need | ||
to do this once to work on any of Facebook's open source projects. | ||
|
||
Complete your CLA here: <https://code.facebook.com/cla> | ||
|
||
## Issues | ||
We use GitHub issues to track public bugs. Please ensure your description is | ||
clear and has sufficient instructions to be able to reproduce the issue. | ||
|
||
Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe | ||
disclosure of security bugs. In those cases, please go through the process | ||
outlined on that page and do not file a public issue. | ||
|
||
## Coding Style | ||
* 2 spaces for indentation rather than tabs | ||
* 80 character line length | ||
* camelCase instead of snake_case | ||
|
||
## License | ||
By contributing to Gloo, you agree that your contributions will be licensed | ||
under the LICENSE file in the root directory of this source tree. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,52 @@ | ||
# gloo | ||
# Gloo | ||
Gloo is a collective communications library. It comes with a number of | ||
collective algorithms useful for machine learning applications. These | ||
include a barrier, broadcast, and allreduce. | ||
|
||
TODO | ||
Transport of data between participating machines is abstracted so that | ||
IP can be used at all times, or InifiniBand (or RoCE) when available. | ||
|
||
Where applicable, algorithms have an implementation that works with | ||
system memory buffers, and one that works with NVIDIA GPU memory | ||
buffers. In the latter case, if the InfiniBand transport is used, | ||
GPUDirect can be used to accelerate cross machine GPU-to-GPU memory | ||
transfers. | ||
|
||
## Requirements | ||
Gloo is built to run on Linux and has no hard dependencies other than libc. | ||
|
||
Optional dependencies are: | ||
* cuda -- for CUDA algorithms, tests, and benchmark | ||
* googletest -- to build and run tests | ||
* eigen -- for fast floating point routines | ||
* hiredis -- for coordinating machine rendezvous through Redis | ||
|
||
## Usage | ||
You can build Gloo using CMake. | ||
|
||
Since it is a library, it is most convenient to vendor it in your own | ||
project and include the project root in your own CMake configuration. | ||
|
||
For standalone builds (e.g. to run tests or benchmarks), first | ||
populate the `third-party` directory with a few dependencies to | ||
compile both the tests and the benchmark tool: | ||
|
||
``` shell | ||
cd third-party | ||
./fetch.sh | ||
``` | ||
|
||
Then, to build: | ||
|
||
``` shell | ||
mkdir build | ||
cd build | ||
cmake ../ -DBUILD_TEST=1 -DBUILD_BENCHMARK=1 | ||
ls -l gloo/gloo_{test,benchmark} | ||
``` | ||
|
||
## Documentation | ||
Please refer to [docs/](docs/) for detailed documentation. | ||
|
||
## License | ||
Gloo is BSD-licensed. We also provide an additional patent grant. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Latency optimizations | ||
TBD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Overview | ||
TBD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Transport structure | ||
TBD |