This repository includes utilities to build and run NVIDIA Docker images.
See samples/
for a list of Dockerfile examples.
Please be aware that this project is currently experimental.
Images can be built on any machine running Docker, it doesn't require a NVIDIA GPU nor any driver installation.
Building images is done through the Docker CLI or using the nvidia-docker
wrapper similarly:
# With latest versions
$ docker build -t cuda ubuntu/cuda/latest
# With specific versions
$ docker build -t cuda:7.5 ubuntu-14.04/cuda/7.5
Alternatively, one can build an image directly from this repository:
# With latest versions
$ docker build -t cuda github.com/NVIDIA/nvidia-docker#:ubuntu/cuda/latest
# With specific versions
$ docker build -t cuda:7.5 github.com/NVIDIA/nvidia-docker#:ubuntu-14.04/cuda/7.5
The nvidia-docker
script is a drop-in replacement for docker
CLI. In addition, it takes care of setting up the NVIDIA host driver environment inside Docker containers for proper execution.
GPUs are exported through a list of comma-separated IDs using the environment variable GPU
.
The numbering is the same as reported by nvidia-smi
or when running CUDA code with CUDA_DEVICE_ORDER=PCI_BUS_ID
, it is however different from the default CUDA ordering.
$ GPU=0,1 ./nvidia-docker <docker-options> <docker-command> <docker-args>
Running a CUDA container requires a machine with at least one CUDA-capable GPU and a driver compatible with the CUDA toolkit version you are using.
NVIDIA drivers are backward-compatible with CUDA toolkits versions:
CUDA toolkit version | Minimum driver version |
---|---|
7.0 | >= 346.46 |
7.5 | >= 352.39 |
Once you have built the required images, a few examples are provided in the folder samples
.
The following assumes that you have an image in your repository named cuda
(see samples/deviceQuery/Dockerfile
):
# Run deviceQuery with one selected GPU
$ docker build -t device_query samples/deviceQuery
$ GPU=0 ./nvidia-docker run device_query
[ NVIDIA ] =INFO= Driver version: 352.39
[ NVIDIA ] =INFO= CUDA image version: 7.5
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 980"
[...]
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 980
Result = PASS
- Please let us know by filing a new issue
- You can contribute by opening a pull request
You will need to send a signed copy of the Contributor License Agreement to digits@nvidia.com before your change can be accepted.