Skip to content

Latest commit

 

History

History
 
 

dockerfiles

Build HugeCTR Docker Containers

From the v3.0 release, we stop releasing the HugeCTR container separately. Instead, Merlin unified container is available on the NVIDIA GPU Could (NGC), which gathers the functionalities of

  1. Data preprocessing using NVTabular
  2. Model training using HugeCTR
  3. Inference using the Triton HugeCTR Backend
  4. Sparse Operation Kit (SOK)

You may want to use the Merlin NGC container for both research and production purposes. But if you want to build a container from the dockerfile by yourself, please refer to the following content.

Docker CLI Quick Reference

$ docker build [<opts>] <path> | <URL>
               Build a new image from the source code at PATH
  -f, --file path/to/Dockerfile
               Path to the Dockerfile to use. Default: Dockerfile.
  --build-arg <varname>=<value>
               Name and value of a build argument defined with ARG
               Dockerfile instruction
  -t "<name>[:<tag>]"
               Repository names (and optionally with tags) to be applied
               to the resulting image
  --label =<label>
               Set metadata for an image
  -q, --quiet  Suppress the output generated by containers
  --rm         Remove intermediate containers after a successful build

Build Container for Model Training

The Dockerfile.train supports two build mode: devel and release,

  • A container in release mode contains necessary libraries and executable files to use HugeCTR and its Python interface, but with no source code/dataset/script stored in it.
  • A container in devel mode is for the development purpose. After running this container, users should download the HugeCTR source code and build following the steps shown here.

Under the current directory, you can build the container by

  • Release mode
    docker build -t hugectr:release -f Dockerfile.train --build-arg RELEASE=true .
    
  • Development mode
    docker build -t hugectr:devel -f Dockerfile.train .
    

Please refer to Docker CLI Quick Reference for the description of options.

Build Container for Inference

If you want to use the HugeCTR inference functionality based on the Triton Inference Server HugeCTR Backend, please build a container under the current directory by

docker build -t hugectr:inference -f Dockerfile.inference --build-arg RELEASE=true .

Build Container for TensorFlow Plugin

If you want to use the HugeCTR Sparse Operation Kit (SOK), please build a container under the current directory by

  • Release mode
    docker build -t hugectr:tf-plugin -f Dockerfile.tf-plugin --build-arg RELEASE=true .
    
  • Development mode
    docker build -t hugectr:tf-plugin -f Dockerfile.tf-plugin .