NVIDIA NGC Containers

Overview

NVIDIA GPU Cloud (NGC) provides a variety of pre-built containers for machine learning and deep learning workloads on NVIDIA GPUs. There are a variety of images, both general purpose and domain specific offerings.

Domino Enhancements to NGC

Domino takes NGC containers and we add a variety of software to enhance those containers for use in Domino and for general data science work.

1. Adding Domino compatibility - Domino automatically manages code and data versioning as part of the container lifecycle and as a result we require specific additional software in the container to work

2. Adding data source drivers - Domino adds drivers for a variety of data sources in order to make it easy to connect to a data source without needing to manually add drivers. We include Snowflake, Oracle, Microsoft SQL, etc.

3. Adding workspaces - When an NGC container doesn’t include an interactive notebook, we add Jupyter to the image so that you can interactively develop in the image. When there’s a notebook already included, we configure that existing Notebook to work.

Availability

Currently we build the latest versions of NGC containers with a preference for Ubuntu base images. If there’s an environment that you’re looking for which is not available, you can request it from ngc-request@dominodatalab.com

Adding an NGC Image to Domino

  1. Choose the NGC container from the list below
  2. Create a new compute environment in Domino
  3. Use the “Link” from below as the base compute environment (e.g. quay.io/domino/ngc-pytorch:20.12-py3)
  4. Enter the following in the Workspace Definition area:
jupyter:
 title: "Jupyter (Python, R, Julia)"
 iconUrl: "/assets/images/workspace-logos/Jupyter.svg"
 start: [ "/opt/domino/workspaces/jupyter/start" ]
 httpProxy:
   port: 8888
   rewrite: false
   internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{#if pathToOpen}}tree/{{pathToOpen}}{{/if}}"
   requireSubdomain: false
jupyterlab:
 title: "JupyterLab"
 iconUrl: "/assets/images/workspace-logos/jupyterlab.svg"
 start: [  "/opt/domino/workspaces/jupyterlab/start" ]
 httpProxy:
   internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{#if pathToOpen}}tree/{{pathToOpen}}{{/if}}"
   port: 8888
   rewrite: false
   requireSubdomain: false

Available Containers

RAPIDS

nvidia-ngc https://ngc.nvidia.com/catalog/containers/nvidia:rapidsai:rapidsai
Domino registry path: quay.io/domino/ngc-rapids:0.18-cuda11.0-runtime-ubuntu20.04-py3.8
Versions: RAPIDS 0.18, Ubuntu 18.04, CUDA 11
Base Image: docker pull nvcr.io/nvidia/rapidsai/rapidsai:0.18-cuda11.0-base-ubuntu18.04
Notes: N/A

PyTorch

nvidia-ngc https://ngc.nvidia.com/catalog/containers/nvidia:pytorch
Domino registry path: quay.io/domino/ngc-pytorch:20.12-py3
Versions: Ubuntu 18.04, CUDA 11
Base Image: docker pull nvcr.io/nvidia/pytorch:21.02-py3
Notes: N/A

TensorFlow

nvidia-ngc https://ngc.nvidia.com/catalog/containers/nvidia:tensorflow
Domino registry path: quay.io/domino/ngc-tensorflow:20.12-tf1-py3
Versions: TensorFlow v21.03, Ubuntu 18.04, CUDA 11
NGC Base Image: docker pull nvcr.io/nvidia/tensorflow:21.03-tf1-py3
Notes: N/A

Clara Train

nvidia-ngc https://ngc.nvidia.com/catalog/containers/nvidia:clara-train-sdk
Domino registry path: quay.io/domino/ngc-clara-train:v3.1.01
Versions: Clara v3.1.01, Ubuntu 18.04, CUDA 11
NGC Base Image: docker pull nvcr.io/nvidia/clara-train-sdk:v3.1.01
Notes: N/A

MXNet

nvidia-ngc https://ngc.nvidia.com/catalog/containers/nvidia:mxnet
Domino registry path: quay.io/domino/ngc-mxnet:20.12-py3
Versions: MXNet v21.03, Ubuntu 18.04, CUDA 11
NGC Base Image: docker pull nvcr.io/nvidia/mxnet:21.03-py3
Notes: N/A