Networking DOCA SDK Documentation

NVIDIA DOCA FlexIO Build


This document describes the DOCA FlexIO Build tool.

Introduction

The FlexIO Build tool is used to build and compile FlexIO device code into a static library.

Description

The DOCA FlexIO driver exposes the API for managing and running code over the data path accelerator. The DPA is an embedded user-programmable processor in the NVIDIA® BlueField®-3 DPU.

Writing the FlexIO application requires compiling both host and device stubs into single binary file.

The FlexIO Build tool is a wrapper for the DPACC compiler to compile device code.

Refer to DPA Subsystem and NVIDIA DOCA DPACC Compiler for more information.

Execution

build_flexio_device.sh <app-name> <source-file> <build-dir>

Please refer to section "Tool Flags" for more information.

For example:

build_flexio_device.sh l2_reflector_device /opt/mellanox/doca/applications/l2_reflector/device/l2_reflector_device.c /tmp/dpacc-output/

This command builds and compiles the l2_reflector_device.a static library which is then placed under /tmp/dpacc-output.

Tool Flags

Flag

Description

<app-name>

Application name. This flag is important as it determines how the flexio_app struct is exposed.

DPACC defines the following:

C++
struct flexio_app <app-name>;

This is used from the host application.

<source-file>

DPA device source code. This code is cross-compiled and bundled in the output library.

<build-dir>

Directory where the library will be placed.


Last updated: