From cd03504cfc29767d33d37b5c587116ab90752d74 Mon Sep 17 00:00:00 2001 From: Tim Hall Date: Tue, 8 Aug 2023 14:10:17 +0100 Subject: MLBEDSW-7689: Document verbose command stream options - Documented High-Level and register-Level command stream options - Changed High-Level command stream display to show the name of the command - Fixed an issue with some operators not being displayed by the CLI option --verbose-operators - Changed an unneeded print in pass packing to a more useful assertion Change-Id: I9d53f19f4e32d0478209bc964724c27c935f66d6 Signed-off-by: Tim Hall --- OPTIONS.md | 47 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 7 deletions(-) (limited to 'OPTIONS.md') diff --git a/OPTIONS.md b/OPTIONS.md index 38f65a7e..646444e1 100644 --- a/OPTIONS.md +++ b/OPTIONS.md @@ -398,8 +398,8 @@ vela network.tflite --verbose-performance Displays a list of all operators and the tensors that are connected to them. Additional information is shown about the tensors. The format is: -` `, where; -` `, where; +` +`, where; num = an increasing operator count op_type = the Graph IR Operator Type op_name = the Graph IR Operator Name (this may have been derived from the @@ -466,9 +466,32 @@ vela network.tflite --verbose-allocation ### Verbose High Level Command Stream -Display a high level command stream with one command per DMA or NPU stripe. The -commands contain information about block configuration as well as IFM-, OFM- -and weight boxes. +Display an enumerated list of High-Level (HL) commands in execution +order. There are three types of command and each one displays individual +information: + +* NPU Stripe = ` +`, represents a data processing operation that maps directly to +a single Ethos-U operation where; +name = name of the pass that corresponds to this HL command (not unique) +ifm_box = part of the IFM in NHWC format +ifm2_box = part of the IFM2 in NHWC format (is empty [] when not present) +ofm_box = part of the OFM in NHWC format +weight_box = part of the filter kernel in NHWC format +block_config = block processing size in HWIO format + +* DMA = ` `, represents a memory copy operation from source to +destination where; +name = name of the pass that corresponds to this HL command (not unique) +in = name of the source tensor +out = name of the destination tensor +box = part of the source tensor in NHWC format + +* NOP = ` `, represents a memory copy operation that has source equal +to destination and therefore does nothing, where; +name = name of the pass that corresponds to this HL command (not unique) +in = name of the input tensor +out = name of the output tensor ```bash vela network.tflite --verbose-high-level-command-stream @@ -476,8 +499,18 @@ vela network.tflite --verbose-high-level-command-stream ### Verbose Register Command Stream -Display all NPU operations and a register level (low level) command stream with -all register settings for the network execution on the NPU. +Display two groups of information. The first group is the input to the register +command stream generator. The second group is the output of the register +command stream generator: + +* Input = an enumerated list of the High-Level commands that are the input to +the generator. Each command details all of its attributes. + +* Output = a disassembly of the Ethos-U command stream (referred to as the +register command stream). More information about the commands listed in the +register command stream can be found in the Arm Ethos-U NPU Technical Reference +Manuals that are available from the Arm Developer website (see +[README - Resources](README.md#resources)). ```bash vela network.tflite --verbose-register-command-stream -- cgit v1.2.1