Update Read the Docs, documentation, and dependabot (#772)

* update documentation

add version number to documentation

rename .sphinx/.doxygen to sphinx/doxygen

enable htmlzip, pdf, epub formats when publishing on Read the Docs

* add noCI label for dependabot PRs

since RTD CI is separate from math lib CI

* update rocm-docs-core to v0.13.4

* update README with link to rocm.docs.amd.com
This commit is contained in:
Sam Wu
2023-06-07 15:31:58 -06:00
committato da GitHub
parent 5f1f0142ac
commit c3f47853bd
12 ha cambiato i file con 55 aggiunte e 33 eliminazioni
+6 -1
Vedi File
@@ -6,7 +6,12 @@
version: 2
updates:
- package-ecosystem: "pip" # See documentation for possible values
directory: "/docs/.sphinx" # Location of package manifests
directory: "/docs/sphinx" # Location of package manifests
open-pull-requests-limit: 10
schedule:
interval: "daily"
labels:
- "dependencies"
- "noCI"
reviewers:
- "samjwu"
+1
Vedi File
@@ -10,3 +10,4 @@ _static/
_templates/
_toc.yml
docBin/
_doxygen/
+7 -3
Vedi File
@@ -3,12 +3,16 @@
version: 2
build:
os: ubuntu-22.04
tools:
python: "3.8"
sphinx:
configuration: docs/conf.py
formats: [htmlzip]
formats: [htmlzip, pdf, epub]
python:
version: "3.8"
install:
- requirements: docs/.sphinx/requirements.txt
- requirements: docs/sphinx/requirements.txt
+4 -13
Vedi File
@@ -32,6 +32,7 @@ The root of this repository has a helper script 'install.sh' to build and instal
* `./install.sh --npkit-enable` -- enable compilation of npkit profiler framework with all options
## Manual build
### To build the library :
```shell
@@ -60,18 +61,8 @@ $ sudo dpkg -i *.deb
RCCL package install requires sudo/root access because it creates a directory called "rccl" under /opt/rocm/. This is an optional step and RCCL can be used directly by including the path containing librccl.so.
### How to build documentation
Please follow the instructions below to build the documentation.
```bash
cd docs
pip3 install -r .sphinx/requirements.txt
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
```
## Enabling peer-to-peer transport
In order to enable peer-to-peer access on machines with PCIe-connected GPUs, the HSA environment variable HSA_FORCE_FINE_GRAIN_PCIE=1 is required to be set, on top of requiring GPUs that support peer-to-peer access and proper large BAR addressing support.
## Tests
@@ -108,7 +99,7 @@ To manually analyze NPKit dump results, please leverage [npkit_trace_generator.p
## Library and API Documentation
Please refer to the [Library documentation](https://rccl.readthedocs.io/) for current documentation.
Please refer to the [RCCL Documentation Site](https://rocm.docs.amd.com/projects/rccl/en/latest/) for current documentation.
### How to build documentation
@@ -117,7 +108,7 @@ Run the steps below to build documentation locally.
```
cd docs
pip3 install -r .sphinx/requirements.txt
pip3 install -r sphinx/requirements.txt
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
```
-1
Vedi File
@@ -1 +0,0 @@
rocm-docs-core==0.13.3
+1 -5
Vedi File
@@ -40,8 +40,4 @@ under subcontract 7078610 with Lawrence Berkeley National Laboratory.
This code also includes files from the NVIDIA Tools Extension SDK project.
For more information and license details, see
https://github.com/NVIDIA/NVTX
For more information and license details, see [https://github.com/NVIDIA/NVTX](https://github.com/NVIDIA/NVTX)
+15 -2
Vedi File
@@ -4,10 +4,23 @@
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
import subprocess
from rocm_docs import ROCmDocs
docs_core = ROCmDocs("RCCL Documentation")
docs_core.run_doxygen()
name = "RCCL"
get_major = r'sed -n -e "s/^NCCL_MAJOR.*\([0-9]\+\).*/\1/p" ../makefiles/version.mk'
get_minor = r'sed -n -e "s/^NCCL_MINOR.*\([0-9]\{2,\}\).*/\1/p" ../makefiles/version.mk'
get_patch = r'sed -n -e "s/^NCCL_PATCH.*\([0-9]\+\).*/\1/p" ../makefiles/version.mk'
major = subprocess.getoutput(get_major)
minor = subprocess.getoutput(get_minor)
patch = subprocess.getoutput(get_patch)
external_toc_path = "./sphinx/_toc.yml"
docs_core = ROCmDocs(f"{name} {major}.{minor}.{patch} Documentation")
docs_core.run_doxygen(doxygen_root="doxygen", doxygen_path="doxygen/docBin/xml")
docs_core.setup()
for sphinx_var in ROCmDocs.SPHINX_VARS:
+9 -7
Vedi File
@@ -1,9 +1,11 @@
******************
RCCL documentation
******************
****
RCCL
****
The ROCm Collective Communication Library (RCCL) is a stand-alone library which provides multi-GPU and multi-node collective communication primitives optimized for AMD GPUs.
RCCL (pronounced “Rickel”) implements routines such as all-reduce, all-gather, reduce, broadcast, reduce-scatter, gather, scatter, all-to-allv, and all-to-all as well as direct point-to-point (GPU-to-GPU) send and receive operations.
The provided collective communication routines are implemented using Ring and Tree algorithms. They are optimized to achieve high bandwidth and low latency by leveraging topology awareness, high-speed interconnects, RDMA based collectives. RCCL utilizes PCIe and xGMI high-speed interconnects for intra-node communication as well as InfiniBand, RoCE, and TCP/IP for inter-node communication.
The ROCm Collective Communication Library (RCCL) is a stand-alone library which provides multi-GPU and multi-node collective communication primitives optimized for AMD GPUs. RCCL (pronounced “Rickel”) implements routines such as all-reduce, all-gather, reduce, broadcast, reduce-scatter, gather, scatter, all-to-allv, and all-to-all as well as direct point-to-point (GPU-to-GPU) send and receive operations. The provided collective communication routines are implemented using Ring and Tree algorithms. They are optimized to achieve high bandwidth and low latency by leveraging topology awareness, high-speed interconnects, RDMA based collectives. RCCL utilizes PCIe and xGMI high-speed interconnects for intra-node communication as well as InfiniBand, RoCE, and TCP/IP for inter-node communication. 
RCCL supports an arbitrary number of GPUs installed in a single-node or multi-node platform. It can be easily integrated into either single- or multi-process (e.g., MPI) applications.
+1
Vedi File
@@ -0,0 +1 @@
rocm-docs-core==0.13.4
@@ -46,6 +46,10 @@ idna==3.4
# via requests
imagesize==1.4.1
# via sphinx
importlib-metadata==6.6.0
# via sphinx
importlib-resources==5.12.0
# via rocm-docs-core
jinja2==3.1.2
# via
# myst-parser
@@ -85,6 +89,8 @@ pyjwt[crypto]==2.6.0
# via pygithub
pynacl==1.5.0
# via pygithub
pytz==2023.3
# via babel
pyyaml==6.0
# via
# myst-parser
@@ -94,7 +100,7 @@ requests==2.31.0
# via
# pygithub
# sphinx
rocm-docs-core==0.13.3
rocm-docs-core==0.13.4
# via -r requirements.in
smmap==5.0.0
# via gitdb
@@ -143,3 +149,7 @@ urllib3==1.26.15
# via requests
wrapt==1.15.0
# via deprecated
zipp==3.15.0
# via
# importlib-metadata
# importlib-resources