NGC | Catalog
Welcome Guest
CatalogContainersDOCA Base Image

DOCA Base Image

For pull tags and more information, please view on a desktop device.
Logo for DOCA Base Image

Description

DOCA enables the development of applications that deliver breakthrough networking, security, and storage performance by harnessing the power of the NVIDIA DPUs.

Publisher

NVIDIA

Latest Tag

1.3.0-devel-cuda11.6.0

Modified

July 1, 2022

Compressed Size

2.66 GB

Multinode Support

No

Multi-Arch Support

No

1.3.0-devel-cuda11.6.0 (Latest) Scan Results

Linux / arm64

NVIDIA DOCA

The NVIDIA® DOCA™ SDK (software development kit) enables developers to rapidly create applications and services on top of NVIDIA BlueField® data processing units (DPUs), leveraging industry-standard APIs. With DOCA, developers can deliver breakthrough networking, security, and storage performance by harnessing the power of the NVIDIA DPUs.

The DOCA Toolkit from NVIDIA provides everything you need to develop DPU-accelerated applications. The DOCA Toolkit includes DPU-accelerated libraries, development tools and the DOCA runtime.

The DOCA container images provide an easy-to-use distribution for DOCA supported platforms and architectures.

Overview of Images

Three flavors of images are provided:

  • base-rt: Includes the DOCA runtime, using the most basic runtime environment needed.
  • full-rt: Builds on the previous and includes the full list of runtime packages, which are all user-mode components that can be found under the doca-runtime package.
  • devel: Builds on the previous and adds headers and development tools for developing and debugging DOCA applications. This image is particularly useful for multi-stage builds.

All images are preconfigured to use to the DOCA repository of the matching DOCA version. This means that installing an additional DOCA package as part of a Dockerfile / within the development container can be done using the following commands:

apt update
apt install <package name>

For DOCA + CUDA environments there are similar flavors for these images combined with CUDA's images:

  • base-rt (DOCA) + base (CUDA)
  • full-rt (DOCA) + runtime (CUDA)
  • devel (DOCA) + devel (CUDA)

Installation and Getting Started

All preparation steps are listed under DOCA's Container Deployment User Guide.

Preparation steps for the Development container

Being a common requirement for many DOCA Applications there are some resource allocation steps needed before the container can be executed:

# Allocate huge-pages, required by most DOCA Applications
echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

Adjusting the .yaml configuration

The .yaml configurations for the DOCA development containers are:

  • doca_devel.yaml:
    wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/doca/doca_container_configs/versions/1.3.0/files/configs/1.3.0/doca_devel.yaml
    
  • doca_devel_cuda.yaml:
    wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/doca/doca_container_configs/versions/1.3.0/files/configs/1.3.0/doca_devel_cuda.yaml
    

The containers don't require any update to the .yaml files and they can simply be used "as-is".

Note: The files are also stored with the rest of the .yaml configurations as were pulled from NGC in the previous steps (See "Installation and Getting Started").

Spawning the container

Simply copy doca_devel.yaml file to the /etc/kubelet.d directory. Kubelet will automatically pull the container image from NGC, and spawn a pod executing the container. Once the container is loaded you need to get its ID via:

# View currently active containers, and their IDs
crictl ps

And then run the following command to connect to it and start developing from within the container:

# Will run a bash in the container and gives you interactive control of it
crictl exec -it <container ID> /bin/bash

Please refer to the documentation for more information.

Documentation

For more information on DOCA, including the release notes, programming model, APIs and developer tools, visit the DOCA documentation site.

License & EULA

DOCA is licensed under the NVIDIA DOCA License. By pulling and using the container, you accept the terms and conditions of this license.

Technical Support

Use the NVIDIA Developers forum for questions regarding this Software.