DOCA Documentation v2.5.0 LTS
1.0

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.