Skip to main content

nvdocker is library built on top of the docker-py python sdk to build and run docker containers using nvidia-docker. Targets nvidia-docker2

Project description

nvdocker
========

nvdocker is library built on top of the docker-py python sdk to build
and run docker containers using nvidia-docker.

Targets nvidia-docker2

Installation
------------

- Install nvidia-docker

https://github.com/NVIDIA/nvidia-docker#quickstart

- Install nvdocker

::

pip install nvdocker

Usage
-----

These variables are already set in NVIDIA's `official CUDA
images <https://hub.docker.com/r/nvidia/cuda/>`__.

``visible_devices``
~~~~~~~~~~~~~~~~~~~

This variable controls which GPUs will be made accessible inside the
container.

- Possible values:

- ``0,1,2``, ``GPU-fef8089b`` …: a comma-separated list of GPU
UUID(s) or index(es),
- ``all``: all GPUs will be accessible, this is the default value in
our container images,
- ``none``: no GPU will be accessible, but driver capabilities will
be enabled.
- ``void`` or *empty* or *unset*: ``nvidia-container-runtime`` will
have the same behavior as ``runc``.

``driver_capabilites``
~~~~~~~~~~~~~~~~~~~~~~

This option controls which driver libraries/binaries will be mounted
inside the container.

- Possible values

- ``compute,video,graphics,utility`` …: a comma-separated list of
driver features the container needs,
- ``all``: enable all available driver capabilities.
- *empty* or *unset*: use default driver capability: ``utility``.

- Supported driver capabilities

- ``compute``: required for CUDA and OpenCL applications,
- ``compat32``: required for running 32-bit applications,
- ``graphics``: required for running OpenGL and Vulkan applications,
- ``utility``: required for using ``nvidia-smi`` and NVML,
- ``video``: required for using the Video Codec SDK.

``require``
~~~~~~~~~~~~~

A logical expression to define constraints on the configurations
supported by the container.

- Supported constraints

- ``cuda``: constraint on the CUDA driver version,
- ``driver``: constraint on the driver version,
- ``arch``: constraint on the compute architectures of the selected
GPUs.

Expressions
^^^^^^^^^^^

| Multiple constraints can be expressed in a single environment
variable: space-separated constraints are ORed, comma-separated
constraints are ANDed.
| Multiple environment variables of the form ``rew`` are ANDed together.


``cuda``
^^^^^^^^^^^^^^^^^^^^^^^

The version of the CUDA toolkit used by the container. If the version of the NVIDIA driver is insufficient to run this
version of CUDA, the container will not be started.

Possible values
'''''''''''''''

- ``cuda>=7.5``, ``cuda>=8.0``, ``cuda>=9.0`` …: any valid CUDA version
in the form ``major.minor``.


``cuda_vesion``
~~~~~~~~~~~~~~~~

| Similar to ``NVIDIA_REQUIRE_CUDA``, for legacy CUDA images.
| In addition, if ``NVIDIA_REQUIRE_CUDA`` is not set,
``NVIDIA_VISIBLE_DEVICES`` and ``NVIDIA_DRIVER_CAPABILITIES`` will
default to ``all``.

``disable_require`
^^^^^^^^^^^^^^^^^^^^^^^^^^

Single switch to disable all the constraints of the form

Copyright and License
---------------------

This project is released under the `UIUC/NCSA
License <https://github.com/acm-uiuc/nvdocker/blob/masterLICENSE>`__.
``docker-py`` is licensed under the `Apache License
2.0 <https://github.com/docker/docker-py/blob/master/LICENSE>`__.
nvidia-docker and nvidia-container-runtime are licensed under the `BSD
3-clause
license <https://github.com/NVIDIA/nvidia-container-runtime/blob/master/LICENSE>`__.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nvdocker-0.0.2a3.tar.gz (4.7 kB view hashes)

Uploaded Source

Built Distribution

nvdocker-0.0.2a3-py2.py3-none-any.whl (6.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page