Vitis™ software platform generates an .xpe file that can be imported to provide an accurate starting point for AI Engine power estimation. Once imported, all the configuration is generated and power can be estimated more accurately compared to the manual entry mode. The .xpe file generated by the Vitis™ software platform (in Work/reports directory), when imported, averages out Vector Load and Memory R/W rate for a particular kernel type. For example, all the cores of kernel type INT8 vector load and the R/W rate is averaged and populated in a single row of PDM. The Interconnect Load is not a default of 12% in the import flow. Instead, it is computed by the tool based on the stream usage for each AI Engine tile.
AI Engine Simulation Based Power Estimation
- Generate a vcd file while running AI Engine simulator.
- Use the vcdanalyze tool to create more accurate .xpe file using the
following command: vcdanalyze --vcd <vcdfile> --xpe
- <vcdfile> is the generated .vcd file from the AI Engine simulator.
- Import the newly generated .xpe file in the PDM for more accurate AI Engine
- This .xpe file has more accurate vector load and memory R/W rate.
Following factors should be considered before performing simulation based power estimation of the AI Engine:
- Presently only vector instructions such as VMAC and VMUL are supported in this flow. Therefore, simulation flow should only be used if your design has vector instructions. If the AI Engine has scalar instructions (not the expected use of AI Engines), it is recommended to go with the compiler import flow.
- While using the vcdanalyze utility on a vcd file, navigate to the location of the .vcd file as the work directory is also required to generate .xpe output.
- To create a .xpe file in a specific directory, use the following command:
vcdanalyze --vcd <vcdfile> --xpe --xpe-dir <dir_name>
where <dir_name> is the directory name where generated .xpe file is expected.
For more information on how to generate the .vcd file and vcdanalyze tool, see, AI Engine Tools and Flows User Guide (UG1076).