Skip to content

Commit

Permalink
Remove ucx-proc dependency and update docs
Browse files Browse the repository at this point in the history
Since UCX 1.14.1, the `ucx-proc` package is not required anymore and all
UCX builds provide CUDA support. Remove that dependency and update docs
and warnings accordingly.
  • Loading branch information
pentschev committed Oct 12, 2023
1 parent 3d1a5d2 commit ded8e2e
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 53 deletions.
1 change: 0 additions & 1 deletion conda/environments/builddocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ dependencies:
- sphinxcontrib-websupport
- nbsphinx
- numpydoc
- ucx-proc=*=cpu
- recommonmark
- pandoc=<2.0.0
- pip
Expand Down
40 changes: 12 additions & 28 deletions docs/source/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,44 +35,24 @@ support is active by checking for the presence of ``/dev/infiniband/rdma_cm`` an
Conda
-----

Some preliminary Conda packages can be installed as so. Replace
``<CUDA version>`` with the desired version (minimum ``11.0``). These are
available both on ``rapidsai`` and ``rapidsai-nightly``. Starting with the
UCX 1.14.1 conda-forge package, InfiniBand support is available again via
rdma-core, thus building UCX from source is not required solely for that
purpose anymore but may still be done if desired (e.g., to test for new
capabilities or bug fixes).

With GPU support (UCX 1.14.0 and higher):

::

conda create -n ucx -c conda-forge -c rapidsai \
cudatoolkit=<CUDA version> ucx>=1.14.0 ucx-py python=3.9

With GPU support (UCX>=1.11.1 and UCX<1.14):
Conda packages can be installed as so. Replace ``<CUDA version>`` with the
desired version (minimum ``11.2``). These are available both on ``rapidsai``
and ``rapidsai-nightly``. Starting with the UCX 1.14.1 conda-forge package,
InfiniBand support is available again via rdma-core, thus building UCX
from source is not required solely for that purpose anymore but may still
be done if desired (e.g., to test for new capabilities or bug fixes).

::

conda create -n ucx -c conda-forge -c rapidsai \
cudatoolkit=<CUDA version> ucx-proc=*=gpu ucx<1.14 ucx-py python=3.9

Without GPU support:

::

conda create -n ucx -c conda-forge -c rapidsai \
ucx-proc=*=cpu ucx ucx-py python=3.9
cudatoolkit=<CUDA version> ucx-py


Source
------

The following instructions assume you'll be using UCX-Py on a CUDA enabled system and is in a `Conda environment <https://docs.conda.io/projects/conda/en/latest/>`_.

.. note::
UCX conda-force package older than UCX 1.14.1 do not include InfiniBand support.


Build Dependencies
~~~~~~~~~~~~~~~~~~
Expand All @@ -81,7 +61,11 @@ Build Dependencies

conda create -n ucx -c conda-forge \
automake make libtool pkg-config \
"python=3.9" setuptools "cython>=0.29.14,<3.0.0a0"
"python=3.9" setuptools "cython>=3.0.0"

.. note::
The Python version must be explicitly specified here, UCX-Py currently supports
only Python 3.9 and 3.10.

Test Dependencies
~~~~~~~~~~~~~~~~~
Expand Down
11 changes: 2 additions & 9 deletions docs/source/quickstart.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,12 @@ Quickstart
Setup
-----

With GPU support:
Create a new conda environment with UCX-Py:

::

conda create -n ucx -c conda-forge -c rapidsai \
cudatoolkit=<CUDA version> ucx-proc=*=gpu ucx ucx-py python=3.9

Without GPU support:

::

conda create -n ucx -c conda-forge -c rapidsai \
ucx-proc=*=cpu ucx ucx-py python=3.9
cudatoolkit=<CUDA version> ucx-py

For a more detailed guide on installation options please refer to the :doc:`install` page.

Expand Down
6 changes: 3 additions & 3 deletions ucp/_libs/transfer_am.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,9 @@ def am_send_nbx(
if buffer.cuda and not ep.worker._context.cuda_support:
raise ValueError(
"UCX is not configured with CUDA support, please add "
"`cuda_copy` and/or `cuda_ipc` to the UCX_TLS environment"
"variable and that the ucx-proc=*=gpu package is "
"installed. See "
"`cuda_copy` and/or `cuda_ipc` to the `UCX_TLS` environment"
"variable if you're manually setting a different value. If you"
"are building UCX from source, please see "
"https://ucx-py.readthedocs.io/en/latest/install.html for "
"more information."
)
Expand Down
12 changes: 6 additions & 6 deletions ucp/_libs/transfer_stream.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ def stream_send_nb(
if buffer.cuda and not ep.worker._context.cuda_support:
raise ValueError(
"UCX is not configured with CUDA support, please add "
"`cuda_copy` and/or `cuda_ipc` to the UCX_TLS environment"
"variable and that the ucx-proc=*=gpu package is "
"installed. See "
"`cuda_copy` and/or `cuda_ipc` to the `UCX_TLS` environment"
"variable if you're manually setting a different value. If you"
"are building UCX from source, please see "
"https://ucx-py.readthedocs.io/en/latest/install.html for "
"more information."
)
Expand Down Expand Up @@ -204,9 +204,9 @@ def stream_recv_nb(
if buffer.cuda and not ep.worker._context.cuda_support:
raise ValueError(
"UCX is not configured with CUDA support, please add "
"`cuda_copy` and/or `cuda_ipc` to the UCX_TLS environment"
"variable and that the ucx-proc=*=gpu package is "
"installed. See "
"`cuda_copy` and/or `cuda_ipc` to the `UCX_TLS` environment"
"variable if you're manually setting a different value. If you"
"are building UCX from source, please see "
"https://ucx-py.readthedocs.io/en/latest/install.html for "
"more information."
)
Expand Down
12 changes: 6 additions & 6 deletions ucp/_libs/transfer_tag.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@ def tag_send_nb(
if buffer.cuda and not ep.worker._context.cuda_support:
raise ValueError(
"UCX is not configured with CUDA support, please add "
"`cuda_copy` and/or `cuda_ipc` to the UCX_TLS environment"
"variable and that the ucx-proc=*=gpu package is "
"installed. See "
"`cuda_copy` and/or `cuda_ipc` to the `UCX_TLS` environment"
"variable if you're manually setting a different value. If you"
"are building UCX from source, please see "
"https://ucx-py.readthedocs.io/en/latest/install.html for "
"more information."
)
Expand Down Expand Up @@ -217,9 +217,9 @@ def tag_recv_nb(
if not cuda_support:
raise ValueError(
"UCX is not configured with CUDA support, please add "
"`cuda_copy` and/or `cuda_ipc` to the UCX_TLS environment"
"variable and that the ucx-proc=*=gpu package is "
"installed. See "
"`cuda_copy` and/or `cuda_ipc` to the `UCX_TLS` environment"
"variable if you're manually setting a different value. If you"
"are building UCX from source, please see "
"https://ucx-py.readthedocs.io/en/latest/install.html for "
"more information."
)
Expand Down

0 comments on commit ded8e2e

Please sign in to comment.