Graph Execution Engine
Graph Execution Engine is used to execute AI application graphs. It accepts multiple graph files as input, and all graphs are executed in same process context. It also needs manifest files as input which includes list of extensions to load. It must list all extensions required for the graph. Registry graph install
command can be used to download all required extensions and generate manifest file.
/opt/nvidia/graph-composer/gxe --help
Flags from gxf/gxe/gxe.cpp:
-app (GXF app file to execute. Multiple files can be comma-separated)
type: string default: ""
-app_root (Root path for GXF app and subgraph files with relative path)
type: string default: ""
-graph_directory (Path to a directory for searching graph files.)
type: string default: ""
-log_file_path (Path to a file for logging.) type: string default: ""
-manifest (GXF manifest file with extensions. Multiple files can be
comma-separated) type: string default: ""
-severity (Set log severity levels: 0=None, 1=Error, 2=Warning, 3=Info,
4=Debug. Default: Info) type: int32 default: 3
Other options
1. How to override the parameters that are specified in the graph file using command line options?
1. Single graph file
Command line option --param
of gxe can be used to override the parameters specified
in the graph file. Complete path is delimited by /
only exception being the last literal whose value has to be
overridden is delimited by =
Below is the snippet of a graph file
---
name: Entity1
components:
- type: nvidia::gxf::PeriodicSchedulingTerm
parameters:
recess_period: 2000000
- type: nvidia::gxf::CountSchedulingTerm
parameters:
count: 100
- type: nvidia::gxf::test::StepCount
parameters:
expected_count: 100
---
To override the count
of CountSchedulingTerm
below command line option can be used.
--param=Entity1/nvidia::gxf::CountSchedulingTerm/count=101
2. Multiple subgraph files
When multiple subgraph files are used, then the entity names of various subgraphs are delimited by .
until the
componet name is reached whose parameter has to be overriden. Hereafter the component type and the parameter will be
delimited by /
Below is the snippet of multiple sub graph files
test_subgraph.yaml
---
name: gather_subgraph
components:
- type: nvidia::gxf::Subgraph
name: gather_subgraph
parameters:
location: "gxf/test/apps/gather_subgraph.yaml"
prerequisites:
monitored_rx: rx/signal
- name: output
parameters:
max_capacity: 2
- name: forward1_buf_term
parameters:
min_size: 1
---
gather_subgraph.yaml
---
name: forward_subgraph_1
components:
- name: forward
type: nvidia::gxf::Subgraph
parameters:
location: gxf/test/apps/forward_subgraph.yaml
prerequisites:
monitored_rx: prerequisites/monitored_rx
---
forward_subgraph.yaml
---
name: counter
components:
- name: step_counter
type: nvidia::gxf::test::StepCount
parameters:
expected_count: 100
---
To override the expected_count
of step_counter
below command line option can be used.
--param=gather_subgraph.forward_subgraph_1.counter/nvidia::gxf::test::StepCount/expected_count=101