FPGA AI Suite: Compiler Reference Manual

ID 768972
Date 12/16/2024
Public
Document Table of Contents

3.1. Compiling a Graph

For compiling a graph, use the following dla_compiler command options:
Option Description
--network-file [Required] The path to the OpenVINO™ Inference Engine network topology (.xml) file or files. If you have multiple files, list them as a sequence of space-delimited arguments.

The .bin weights file must be in the same directory as the .xml file, and the file must have the same file name (except for the .bin extension).

--march [Required] The architecture parameterization to use when compiling the graph.
--plugins-file [Optional] The location of the plugins.xml file.
--batch-size [Optional] Override the network batch size.
--bin-data [Optional] Forces graph to be compiled for binary data input, regardless of input tensor shape. Binary data is read as the input layer type.

Otherwise, graphs with 1- or 3-channel inputs are converted to U8 inputs and binary input files are discarded.

--ffolding-option [Optional] Controls how (or if) folding happens on the first convolution layer.
--o [Optional] File name of the exported compiled graph when using open_vino_hetero format.
--dumpdir [Optional] Directory for dumping additional debug output.

The file path location specified by the --dump_dir option command is also used as the destination location for most of the .csv, .txt, and .dot files created by the compiler. If you do not specify the --dump_dir option, these files are placed in the current working directory.

--foutput-format [Optional] Specifies the export format:
open_vino_hetero
The open_vino_hetero format dumps the graph from the OpenVINO™ level. Choose this format for use with the supplied example designs.
dla_compiled_result
The dla_compiled_result format dumps the configuration and weights buffer. Do not use this format unless you are writing your own network import routines.
--fplugin [Optional] Specifies the OpenVINO™ plugins. Typically set to HETERO:FPGA,CPU, which first tries to use the FPGA IP to implement each portion of the graph and falls back onto the host CPU only for portions that the FPGA IP does not support.
The simplest dla_compiler command format for compiling a graph is as follows:
dla_compiler \
   --network-file <list of  OpenVINO IR XML files> \
   --march <path to .arch file>

Example Command

dla_compiler \
  --network-file ResNet50.xml \
  --march $COREDLA_ROOT/example_architectures/A10_Generic.arch