Running PyTorch

Before you begin

Before you can run an NGC deep learning framework container, your Docker® environment must support NVIDIA GPUs. To run a container, issue the appropriate command as explained in Running A Container and specify the registry, repository, and tags.

About this task

On a system with GPU support for NGC containers, when you run a container, the following occurs:
  • The Docker engine loads the image into a container which runs the software.
  • You define the runtime resources of the container by including additional flags and settings that are used with the command.

    These flags and settings are described in Running A Container.

  • The GPUs are explicitly defined for the Docker container (defaults to all GPUs, but can be specified by using the NVIDIA_VISIBLE_DEVICES environment variable).

    For more information, refer to the nvidia-docker documentation.

    Note: Starting in Docker 19.03, complete the steps below.

The method implemented in your system depends on the DGX OS version that you installed (for DGX systems), the NGC Cloud Image that was provided by a Cloud Service Provider, or the software that you installed to prepare to run NGC containers on TITAN PCs, Quadro PCs, or NVIDIA Virtual GPUs (vGPUs).

Procedure

  1. Issue the command for the applicable release of the container that you want.

    The following command assumes that you want to pull the latest container.

    docker pull nvcr.io/nvidia/pytorch:22.08-py3
  2. Open a command prompt and paste the pull command. Ensure that the pull successfully completes before you proceed to step 3.
  3. To run the container image, select one of the following modes:
    • Interactive
      • If you have Docker 19.03 or later, a typical command to launch the container is:
        docker run --gpus all -it --rm -v local_dir:container_dir nvcr.io/nvidia/pytorch:<xx.xx>-py3
      • If you have Docker 19.02 or earlier, a typical command to launch the container is:
        nvidia-docker run -it --rm -v local_dir:container_dir nvcr.io/nvidia/pytorch:<xx.xx>-py3
    • Non-interactive
      • If you have Docker 19.03 or later, a typical command to launch the container is:
        docker run --gpus all -it --rm -v local_dir:container_dir nvcr.io/nvidia/pytorch:<xx.xx>-py3 <command>
      • If you have Docker 19.02 or earlier, a typical command to launch the container is:
        nvidia-docker run -it --rm -v local_dir:container_dir nvcr.io/nvidia/pytorch:<xx.xx>-py3 <command>
      Note: If you use multiprocessing for multi-threaded data loaders, the default shared memory segment size with which the container runs might not be enough. Therefore, you should increase the shared memory size by issuing one of the following commands:
      • --ipc=host
      • --shm-size=<requested memory size>
      in the command line to
      docker run --gpus all

      To pull data and model descriptions from locations outside the container for use by PyTorch or save results to locations outside the container, mount one or more host directories as Docker® data volumes.