NVIDIA DOCA FlexIO Build

This document describes the DOCA FlexIO Build tool.

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

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.

Copy
Copied!
            

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

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

For example:

Copy
Copied!
            

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.

Flag

Description

<app-name>

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

DPACC defines the following :

Copy
Copied!
            

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.

© Copyright 2023, NVIDIA. Last updated on Feb 9, 2024.