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
The 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:
This repo (rapidsai-core), contains the following:
base- contains a RAPIDS environment ready for use.
runtime- extends the
baseimage by adding a notebook server and example notebooks.
The rapidsai/rapidsai-core-dev repo 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:
23.04-cuda11.8-runtime-ubuntu22.04-py3.10 ^ ^ ^ ^ ^ | | type | python version | | | | cuda version | | | RAPIDS version linux version
To get the latest RAPIDS version of a specific platform combination, simply exclude the RAPIDS version. For example, to pull the latest version of RAPIDS for the
runtime image with support for CUDA 11.8, Python 3.10, and Ubuntu 18.04, use the following tag:
Many users do not need a specific platform combination but would like to ensure they're getting the latest version of RAPIDS, so as an additional convenience, a tag named simply
latest is also provided which is equivalent to
$ docker pull nvcr.io/nvidia/rapidsai/rapidsai-core:23.04-cuda11.8-runtime-ubuntu22.04-py3.10 $ docker run --gpus all --rm -it -p 8888:8888 -p 8787:8787 -p 8786:8786 \ nvcr.io/nvidia/rapidsai/rapidsai-core:23.04-cuda11.8-runtime-ubuntu22.04-py3.10
$ docker pull nvcr.io/nvidia/rapidsai/rapidsai-core:23.04-cuda11.8-runtime-ubuntu22.04-py3.10 $ docker run --runtime=nvidia --rm -it -p 8888:8888 -p 8787:8787 -p 8786:8786 \ nvcr.io/nvidia/rapidsai/rapidsai-core:23.04-cuda11.8-runtime-ubuntu22.04-py3.10
The following ports are used by the
runtime containers only (not
8888- exposes a JupyterLab notebook server
8786- exposes a Dask scheduler
8787- exposes a Dask diagnostic web server
The following environment variables can be passed to the
docker run commands:
DISABLE_JUPYTER- set to
trueto disable the default Jupyter server from starting (not applicable for
JUPYTER_FG- set to
trueto start Jupyter server in foreground instead of background (not applicable for
EXTRA_APT_PACKAGES- (Ubuntu images only) used to install additional
aptpackages in the container. Use a space separated list of values
APT_TIMEOUT- (Ubuntu images only) how long (in seconds) the
aptcommand should wait before exiting
EXTRA_YUM_PACKAGES- (CentOS images only) used to install additional
yumpackages in the container. Use a space separated list of values
YUM_TIMEOUT- (CentOS images only) how long (in seconds) the
yumcommand should wait before exiting
EXTRA_CONDA_PACKAGES- used to install additional
condapackages in the container. Use a space separated list of values
CONDA_TIMEOUT- how long (in seconds) the
condacommand should wait before exiting
EXTRA_PIP_PACKAGES- used to install additional
pippackages in the container. Use a space separated list of values
PIP_TIMEOUT- how long (in seconds) the
pipcommand should wait before exiting
$ 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-core:23.04-cuda11.8-runtime-ubuntu22.04-py3.10
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
$ docker run \ --rm \ -it \ --gpus all \ -v $(pwd)/environment.yml:/opt/rapids/environment.yml \ nvcr.io/nvidia/rapidsai/rapidsai-core:23.04-cuda11.8-runtime-ubuntu22.04-py3.10
Notebooks can be found in the following directories within the 23.04 container (not applicable for
/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 notebooks
For 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:
$ 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-core:23.04-cuda11.8-runtime-ubuntu22.04-py3.10
$ 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-core:23.04-cuda11.8-runtime-ubuntu22.04-py3.10
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:
This prints the function signature and its usage documentation. If this is not enough, you can see the full code for the function using
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.