Skip to content

Latest commit

 

History

History
99 lines (77 loc) · 4.33 KB

PERFORMANCE_EVAL.md

File metadata and controls

99 lines (77 loc) · 4.33 KB

CHaiDNN-v2

Analysis and Eval
Supported Layers Performance/Resource Utilization
Performance Eval
Design and Development
API Reference Quantization User Guide for CHaiDNN Model Zoo Running Inference on new Network
Creating SDx GUI Project Configurable Parameters Custom Platform Generation Software Layer Plugin
SDSoC Environment User Guide Hardware-Software Partitioning for Performance

Quick Performance Evaluation

CHai-v2 provides support for a variety of networks for classification, object detection and segmentation. Please refer to Model Zoo for list of networks and Supported layers for list of layers that are required for these networks. While we believe that we have addressed most of the frequently-used heavy-lifting layers required in networks, we also understand that there might be some networks which might require support for some additional layers. We encourage users to add support for these layers and you could use the software plugin methodology or the methodology described here for efficient hardware software partitioning. But from a system design perspective, we understand that it might be useful to understand the performance of CHai on the layers that are already supported for a given network. We describe an API in this section which can be used to achieve this. For example, if a network is built with 50 layers and the support is missing for only two layers on CHai, then you could get a ball-park estimate on the latency of the 48 layers which are supported. Please note that these latency numbers are only an estimate and they could be optimistic or pessimistic based on the structure of the network. The reason for this is that the runtime of the accelerator fuses some layers for latency optimization.

API

xiEval() evaluates the performance of given layers and logs them in a CSV file.

Syntax

int xiEval (std::string &layerspec_csv);

Parameters

  • layerspec_csv : Input CSV file containing list of layers with respective input arguments. See Eval CSV format for more details.
Example

Below is the argument sequence in CSV, which needs to be followed for all the supported layers.



The output of the API is logged into another CSV file. Example input and output CSV files will look as depicted below.

Input CSV :



Output CSV :


Benchmarks

Below is a table with benchmarks of networks evaluated by xiEval() API.