Skip to content

Commit

Permalink
Update UCX pin to allow 1.15.x and update docs (#996)
Browse files Browse the repository at this point in the history
Update UCX pin to allow `1.15.x`, remove `ucx-proc` dependency and update docs and warnings accordingly.

Since UCX 1.14.1, the `ucx-proc` package is not required anymore and all UCX builds provide CUDA support.

Authors:
  - Peter Andreas Entschev (https://github.com/pentschev)

Approvers:
  - Ray Douglass (https://github.com/raydouglass)
  - Lawrence Mitchell (https://github.com/wence-)

URL: #996
  • Loading branch information
pentschev authored Oct 13, 2023
1 parent 438e5a2 commit 02918e8
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 54 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
2 changes: 1 addition & 1 deletion conda/recipes/ucx-py/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ cxx_compiler_version:
- 11

ucx:
- ">=1.13.0,<1.15.0"
- ">=1.14.1,<1.16.0"
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 02918e8

Please sign in to comment.