Performance Recall

Performance Recall

The tool can be used to perform performance recall. To perform performance recall you use the info subcommand. There are many options to pick when performing the recall as shown bellow:

Prints out the benchmark information

Usage:
  benanza benchinfo [flags]

Aliases:
  benchinfo, info, recall

Flags:
      --benchmark_database string   path to the benchmark results folder (default "/Users/abduld/.gvm/pkgsets/go1.12/global/src/github.com/rai-project/dlperf/results")
      --choose_cudnn_heuristics     choose advised algorithm by cudnn heuristics rather than the fastest
      --datatype string             data type to use (default is float32) (default "float32")
      --flops_aggregate             sum all the flops within a metric for each layer
      --flops_only                  show a table of only the theoretical and actual flops for each layer
      --fused                       check for fused layers in the database
      --graph                       generate a graphviz plot of the results
  -h, --help                        help for benchinfo
      --highlight_fast_path         highlight the path taken when creating the graph visualization (default true)
      --kernels_only                show a table of only the layers and corresponding kernels
      --metric_filter string        filter using the command seperated list of metrics
      --metrics                     grabs the metrics from the benchmarks
      --pad_layers_multiple int     padding multiple to use
      --short                       only get info about the total, rather than reporting per-layer information
      --show                        generate the benchmark info graph (only for parallel for now)
      --strategy parallel           strategy to traverse the graph either can be parallel which would find the shortest path or `serial` to get the total time as if each layer is executed serially (default "parallel")
      --total                       show the total information across all layers (default true)
      --training                    compute the training information
      --trim_layer_name             only show the first few characters of a layer (default true)

Global Flags:
  -b, --batch_size int       batch size (default 1)
  -f, --format string        print format to use (default "automatic")
      --full                 print all information about the layers
      --human                print flops in human form
  -d, --model_dir string     model directory
  -p, --model_path string    path to the model prototxt file
      --no_header            show header labels for output
  -o, --output_file string   output file name

For example, to get the latency of ResNet050-v1 on a Tesla_V100-SXM2-16GB with batchsize 16 you use:

benanza benchinfo --model_path //vgg19-bn.onnx --benchmark_database Tesla_V100-SXM2-16GB --batch_size=16 -f csv

This will give you the timing of the network based on a the information in the database in CSV. This output a CSV file which can be used to create a plot such as:

The CSV file itself is