.. Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved. NVIDIA CORPORATION and its licensors retain all intellectual property and proprietary rights in and to this software, related documentation and any modifications thereto. Any use, reproduction, disclosure or distribution of this software and related documentation without an express license agreement from NVIDIA CORPORATION is strictly prohibited. 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 .. code-block:: yaml --- 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. :command:`--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 .. code-block:: 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 .. code-block:: 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 .. code-block:: 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. :command:`--param=gather_subgraph.forward_subgraph_1.counter/nvidia::gxf::test::StepCount/expected_count=101`