CIMFlow LogoCIMFlow

Output and Metrics

Output report formats and performance metric definitions

CIMFlow-Simulator produces performance reports after each simulation run in text or JSON format.

Output Model

After simulation completes, the simulator produces a performance report. The report format depends on the output mode selected at the command line.

Text mode is the default for both cimflow sim and the native cim-simulator binary. The text report contains the following sections:

SectionContent
Run metadataConfig path, instruction path, simulation/data mode
Performance metricsLatency, energy, power, TOPS, TOPS/W
Energy breakdownHierarchical energy table by module
Per-core detailOptional per-core energy table (enabled with -l)
cim-simulator config.json inst.json -o report.txt

To also produce a JSON report alongside the text output, add the -j flag:

cim-simulator config.json inst.json -o report.txt -j report.json

Field Name Convention

JSON field names use trailing underscores (e.g., latency_, total_energy_) to match the internal C++ member naming convention in the Reporter class.


Metric Definitions

The simulator reports the following performance metrics after each run.

MetricDefinition
LatencySimulated execution time in the model timeline
Total EnergyStatic energy plus dynamic energy
Average Powertotal_energy / latency
TOPSop_count / latency scaled to tera-operations per second
TOPS/WTOPS / average_power

The op_count value comes from the metadata.op_count field in the instruction file. This field records the total number of high-level operations (e.g., multiply-accumulate) in the workload, as computed by the compiler.

TOPS and TOPS/W Require op_count

When metadata.op_count is absent or zero, the simulator cannot compute TOPS or TOPS/W. These fields are omitted from the report.

Static vs Dynamic Energy

Static energy depends on configured static power and final runtime. Dynamic energy is accumulated by activity events in compute, memory, and network modules.

Last updated on