Skip to content

Commit fe1b41e

Browse files
committed
initiali docs update on nccl
1 parent f1bc646 commit fe1b41e

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ PIP := $(shell command -v pip3 2> /dev/null || command which pip 2> /dev/null)
22
PYTHON := $(shell command -v python3 2> /dev/null || command which python 2> /dev/null)
33
NUM_PROCESSES = 3
44

5-
.PHONY: install dev-install install_conda dev-install_conda tests doc docupdate run_examples run_tutorials
5+
.PHONY: install dev-install install_conda dev-install_conda tests tests_nccl doc docupdate run_examples run_tutorials
66

77
pipcheck:
88
ifndef PIP
@@ -30,12 +30,19 @@ install_conda:
3030
dev-install_conda:
3131
conda env create -f environment-dev.yml && conda activate pylops_mpi && pip install -e .
3232

33+
dev-install_conda_nccl:
34+
conda env create -f environment-dev.yml && conda activate pylops_mpi && conda install -c conda-forge cupy cudnn cutensor nccl && pip install -e .
35+
3336
lint:
3437
flake8 pylops_mpi/ tests/ examples/ tutorials/
3538

3639
tests:
3740
mpiexec -n $(NUM_PROCESSES) pytest tests/ --with-mpi
3841

42+
# assuming NUM_PROCESSES <= number of gpus available
43+
tests_nccl:
44+
mpiexec -n $(NUM_PROCESSES) pytest tests_nccl/ --with-mpi
45+
3946
doc:
4047
cd docs && rm -rf source/api/generated && rm -rf source/gallery &&\
4148
rm -rf source/tutorials && rm -rf build &&\

docs/source/installation.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,16 @@ If you prefer a ``pip`` installation, we provide the following command
100100
Note that, differently from the ``conda`` command, the above **will not** create a virtual environment.
101101
Make sure you create and activate your environment previously.
102102

103+
Enable Nvidia Collective Communication Library (NCCL)
104+
=======================================================
105+
To obtain highly-optimized performance on GPU clusters, PyLops-MPI also supports the Nvidia's collective communication calls (NCCL).
106+
`NCCL <https://developer.nvidia.com/nccl>
107+
108+
.. code-block:: bash
109+
110+
>> make dev-install_conda_nc
111+
112+
103113
Run tests
104114
=========
105115
To ensure that everything has been setup correctly, run tests:
@@ -110,6 +120,12 @@ To ensure that everything has been setup correctly, run tests:
110120

111121
Make sure no tests fail, this guarantees that the installation has been successful.
112122

123+
If PyLops-MPI is installed with NCCL, also run tests:
124+
125+
.. code-block:: bash
126+
127+
>> make tests_nccl
128+
113129
Run examples and tutorials
114130
==========================
115131
Since the sphinx-gallery creates examples/tutorials using only a single process, it is highly recommended to test the

setup.cfg

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[tool:pytest]
22
addopts = --verbose
3-
python_files = tests/*.py
3+
python_files = tests/*.py tests_nccl/*.py
44

55
[flake8]
66
ignore = E203, E501, W503, E402
77
per-file-ignores =
8-
__init__.py: F401, F403, F405
9-
max-line-length = 88
8+
__init__.py: F401, F403, F405
9+
max-line-length = 88

0 commit comments

Comments
 (0)