Skip to content

Commit 5db7e25

Browse files
authored
Initial MKDocs commit (#8)
1 parent 2e64bba commit 5db7e25

8 files changed

Lines changed: 124 additions & 1 deletion

File tree

DGraph/__init__.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Copyright (c) 2014-2024, Lawrence Livermore National Security, LLC.
2+
# Produced at the Lawrence Livermore National Laboratory.
3+
# Written by the LBANN Research Team (B. Van Essen, et al.) listed in
4+
# the CONTRIBUTORS file. See the top-level LICENSE file for details.
5+
#
6+
# LLNL-CODE-697807.
7+
# All rights reserved.
8+
#
9+
# This file is part of LBANN: Livermore Big Artificial Neural Network
10+
# Toolkit. For details, see http://software.llnl.gov/LBANN or
11+
# https://github.com/LBANN and https://github.com/LLNL/LBANN.
12+
#
13+
# SPDX-License-Identifier: (Apache-2.0)
14+
15+
"""DGraph.
16+
17+
Modules exported by this package:
18+
19+
- `Communicator`: The DGraph communicator used to perform communication over PyTorch.
20+
"""

DGraph/distributed/Engine.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,31 @@
1616

1717

1818
class BackendEngine(object):
19+
"""The abstract DGraph communication engine used by the Communicator. The engine
20+
is responsible for initializing the communication backend library, and performing
21+
the necessary communication operations.
22+
23+
The engine should be implemented by the backend-specific classes. We currently
24+
supports the following backends:
25+
- NCCL
26+
- MPI
27+
- NVSHMEM
28+
"""
29+
1930
def __init__(self):
31+
"""Initialize the communication backend library."""
2032
pass
2133

2234
def init_process_group(self, *args, **kwargs):
35+
"""Initialize the communication backend library."""
2336
raise NotImplementedError
2437

2538
def get_rank(self) -> int:
39+
"""Get the rank of the current process."""
2640
raise NotImplementedError
2741

2842
def get_world_size(self) -> int:
43+
"""Get the total number of processes."""
2944
raise NotImplementedError
3045

3146
def scatter(

DGraph/distributed/__init__.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Copyright (c) 2014-2024, Lawrence Livermore National Security, LLC.
2+
# Produced at the Lawrence Livermore National Laboratory.
3+
# Written by the LBANN Research Team (B. Van Essen, et al.) listed in
4+
# the CONTRIBUTORS file. See the top-level LICENSE file for details.
5+
#
6+
# LLNL-CODE-697807.
7+
# All rights reserved.
8+
#
9+
# This file is part of LBANN: Livermore Big Artificial Neural Network
10+
# Toolkit. For details, see http://software.llnl.gov/LBANN or
11+
# https://github.com/LBANN and https://github.com/LLNL/LBANN.
12+
#
13+
# SPDX-License-Identifier: (Apache-2.0)
14+
15+
"""DGraph Distributed Module
16+
17+
Modules exported by this package:
18+
- `Engine`: The DGraph communication engine used by the Communicator.
19+
- `BackendEngine`: The abstract DGraph communication engine used by the Communicator.
20+
"""

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,4 @@ A list of publications, presentations and posters are shown
4747

4848
## Reporting issues
4949
Issues, questions, and bugs can be raised on the [Github issue
50-
tracker](https://github.com/LBANN/lbann/issues).
50+
tracker](https://github.com/LBANN/DGraph/issues).

docs/index.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# LBANN: Livermore Big Artificial Neural Network Toolkit
2+
3+
The Livermore Big Artificial Neural Network toolkit (LBANN) is an
4+
open-source, HPC-centric, deep learning training framework that is
5+
optimized to compose multiple levels of parallelism.
6+
7+
LBANN provides model-parallel acceleration through domain
8+
decomposition to optimize for strong scaling of network training. It
9+
also allows for composition of model-parallelism with both data
10+
parallelism and ensemble training methods for training large neural
11+
networks with massive amounts of data. LBANN is able to advantage of
12+
tightly-coupled accelerators, low-latency high-bandwidth networking,
13+
and high-bandwidth parallel file systems.
14+
15+
## DGraph
16+
DGraph is deep learning library for training graph neural networks at scale that is built on top of PyTorch.
17+
18+
19+
### Running tests
20+
To run the tests, use the following command:
21+
```shell
22+
python -m pytest tests/
23+
```
24+
25+
### Requirements
26+
DGraph requires the following packages:
27+
- PyTorch >= 2.1.0
28+
- NumPy
29+
- pytest
30+
31+
For the full list of requirements, see `requirements.txt`.
32+
33+
DGraph also requires the following libraries:
34+
- NCCL
35+
- NVSHMEM
36+
37+
## Publications
38+
39+
A list of publications, presentations and posters are shown
40+
[here](https://lbann.readthedocs.io/en/latest/publications.html).
41+
42+
## Reporting issues
43+
Issues, questions, and bugs can be raised on the [Github issue
44+
tracker](https://github.com/LBANN/DGraph/issues).

docs/project-structure.md

Whitespace-only changes.

docs/reference.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
::: DGraph.Communicator.Communicator
2+
options:
3+
show_root_heading: true
4+
5+
::: DGraph.distributed.Engine.BackendEngine
6+
options:
7+
show_root_heading: true

mkdocs.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
site_name: DGraph
2+
3+
plugins:
4+
- mkdocstrings:
5+
handlers:
6+
python:
7+
options:
8+
show_root_heading: false
9+
10+
theme:
11+
name: material
12+
13+
nav:
14+
- Home: index.md
15+
- Project Structure: project-structure.md
16+
- GitHub: https://github.com/LBANN/DGraph
17+
- Reference: reference.md

0 commit comments

Comments
 (0)