Skip to content

Commit

Permalink
README and docs skeleton
Browse files Browse the repository at this point in the history
Summary: TSIA

Differential Revision: D4591755

fbshipit-source-id: fa435f4ad6b97453c3c9516b4bfc9f8f0fb2e4f1
  • Loading branch information
pietern committed Feb 21, 2017
1 parent d6ca382 commit df68230
Show file tree
Hide file tree
Showing 5 changed files with 93 additions and 2 deletions.
36 changes: 36 additions & 0 deletions CONTRIBUTING.md
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.
53 changes: 51 additions & 2 deletions README.md
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.
2 changes: 2 additions & 0 deletions docs/latency.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Latency optimizations
TBD
2 changes: 2 additions & 0 deletions docs/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Overview
TBD
2 changes: 2 additions & 0 deletions docs/transport.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Transport structure
TBD

0 comments on commit df68230

Please sign in to comment.