Linux / amd64
Visit rapids.ai for more information.
The RAPIDS suite of software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposes GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.
NOTE: Review our prerequisites section below to ensure your system meets the minimum requirements for RAPIDS.
Versions of libraries included in the 22.10
images:
cuDF
v22.10, cuML
v22.10, cuGraph
v22.10, RMM
v22.10, RAFT
v22.10, cuSpatial
v22.10, cuSignal
v22.10, cuxfilter
v22.10, dask-sql
2022.10.0The RAPIDS images are based on nvidia/cuda, and are intended to be drop-in replacements for the corresponding CUDA images in order to make it easy to add RAPIDS libraries while maintaining support for existing CUDA applications.
RAPIDS images come in three types, distributed in two different repos:
The rapidsai/rapidsai repo contains the following:
base
- contains a RAPIDS environment ready for use.runtime
- extends the base
image by adding a notebook server and example notebooks.This repo (rapidsai/rapidsai-dev), contains the following:
devel
- contains the full RAPIDS source tree, pre-built with all artifacts in place, and the compiler toolchain, the debugging tools, the headers and the static libraries for RAPIDS development.The tag naming scheme for RAPIDS images incorporates key platform details into the tag as shown below:
22.10-cuda11.5-devel-ubuntu18.04-py3.9
^ ^ ^ ^ ^
| | type | python version
| | |
| cuda version |
| |
RAPIDS version linux version
nvidia-container-toolkit
$ docker pull nvcr.io/nvidia/rapidsai/rapidsai-dev:22.10-cuda11.5-devel-ubuntu18.04-py3.9
$ docker run --gpus all --rm -it -p 8888:8888 -p 8787:8787 -p 8786:8786 \
nvcr.io/nvidia/rapidsai/rapidsai-dev:22.10-cuda11.5-devel-ubuntu18.04-py3.9
nvidia-docker2
$ docker pull nvcr.io/nvidia/rapidsai/rapidsai-dev:22.10-cuda11.5-devel-ubuntu18.04-py3.9
$ docker run --runtime=nvidia --rm -it -p 8888:8888 -p 8787:8787 -p 8786:8786 \
nvcr.io/nvidia/rapidsai/rapidsai-dev:22.10-cuda11.5-devel-ubuntu18.04-py3.9
The following ports are used by the devel
containers:
8888
- exposes a JupyterLab notebook server8786
- exposes a Dask scheduler8787
- exposes a Dask diagnostic web serverThe following environment variables can be passed to the docker run
commands:
DISABLE_JUPYTER
- set to true
to disable the default Jupyter server from startingJUPYTER_FG
- set to true
to start Jupyter server in foreground instead of backgroundEXTRA_APT_PACKAGES
- (Ubuntu images only) used to install additional apt
packages in the container. Use a space separated list of valuesAPT_TIMEOUT
- (Ubuntu images only) how long (in seconds) the apt
command should wait before exitingEXTRA_YUM_PACKAGES
- (CentOS images only) used to install additional yum
packages in the container. Use a space separated list of valuesYUM_TIMEOUT
- (CentOS images only) how long (in seconds) the yum
command should wait before exitingEXTRA_CONDA_PACKAGES
- used to install additional conda
packages in the container. Use a space separated list of valuesCONDA_TIMEOUT
- how long (in seconds) the conda
command should wait before exitingEXTRA_PIP_PACKAGES
- used to install additional pip
packages in the container. Use a space separated list of valuesPIP_TIMEOUT
- how long (in seconds) the pip
command should wait before exitingExample:
$ docker run \
--rm \
-it \
--gpus all \
-e EXTRA_APT_PACKAGES="vim nano" \
-e EXTRA_CONDA_PACKAGES="jq" \
-e EXTRA_PIP_PACKAGES="beautifulsoup4" \
-p 8888:8888 \
-p 8787:8787 \
-p 8786:8786 \
nvcr.io/nvidia/rapidsai/rapidsai-dev:22.10-cuda11.5-devel-ubuntu18.04-py3.9
Mounting files/folders to the locations specified below provide additional functionality for the images.
/opt/rapids/environment.yml
- a YAML file that contains a list of dependencies that will be installed by conda
. The file should look like:dependencies:
- beautifulsoup4
- jq
Example:
$ docker run \
--rm \
-it \
--gpus all \
-v $(pwd)/environment.yml:/opt/rapids/environment.yml \
nvcr.io/nvidia/rapidsai/rapidsai-dev:22.10-cuda11.5-devel-ubuntu18.04-py3.9
Notebooks can be found in the following directories within the 22.10 container :
/rapids/notebooks/clx
- CLX demo notebooks/rapids/notebooks/cugraph
- cuGraph demo notebooks/rapids/notebooks/cuml
- cuML demo notebooks/rapids/notebooks/cusignal
- cuSignal demo notebooks/rapids/notebooks/cuxfilter
- cuXfilter demo notebooks/rapids/notebooks/cuspatial
- cuSpatial demo notebooks/rapids/notebooks/xgboost
- XGBoost demo notebooksFor a full description of each notebook, see the README in the notebooks repository.
All RAPIDS images use conda
as their package manager, and all RAPIDS packages (including source-built) are available in the rapids
conda environment. If you want to extend RAPIDS images (such as using FROM
), then it is important to include source activate rapids
at the start of all RUN
commands in your Dockerfile
. Without this, the docker build context will not have access to the RAPIDS libraries, as it uses the base
environment by default. Examples of this can be found in our own Dockerfiles, which can be found in the RAPIDS Docker Repository on GitHub.
You are free to modify the above steps. For example, you can launch an interactive session with your own data:
nvidia-container-toolkit
$ docker run --gpus all --rm -it -p 8888:8888 -p 8787:8787 -p 8786:8786 \
-v /path/to/host/data:/rapids/my_data \
nvcr.io/nvidia/rapidsai/rapidsai-dev:22.10-cuda11.5-devel-ubuntu18.04-py3.9
nvidia-docker2
$ docker run --runtime=nvidia --rm -it -p 8888:8888 -p 8787:8787 -p 8786:8786 \
-v /path/to/host/data:/rapids/my_data \
nvcr.io/nvidia/rapidsai/rapidsai-dev:22.10-cuda11.5-devel-ubuntu18.04-py3.9
This will map data from your host operating system to the container OS in the /rapids/my_data
directory. You may need to modify the provided notebooks for the new data paths.
You can check the documentation for RAPIDS APIs inside the JupyterLab notebook using a ?
command, like this:
[1] ?cudf.read_csv
This prints the function signature and its usage documentation. If this is not enough, you can see the full code for the function using ??
:
[1] ??pygdf.read_csv
Check out the RAPIDS documentation for more detailed information and a RAPIDS cheat sheet.
Check out the RAPIDS and XGBoost API docs.
Learn how to setup a multi-node cuDF and XGBoost data preparation and distributed training environment by following the mortgage data example notebook and scripts.
Please submit issues with the container to this GitHub repository: https://github.com/rapidsai/docker
For issues with RAPIDS libraries like cuDF, cuML, RMM, or others file an issue in the related GitHub project.
Additional help can be found on Stack Overflow or Google Groups.
By pulling and using the container, you accept the terms and conditions of this End User License Agreement.