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

JSON mode outputs a machine-readable report containing all Reporter fields. Enable it with the --format json flag:

cim-simulator config.json inst.json --format json -o report.json

In JSON mode, -o is treated as the JSON report path and no text report is emitted. The JSON output includes the following top-level fields:

FieldDescription
latency_Simulated execution time
average_power_Computed as total_energy / latency
total_energy_Static energy plus dynamic energy
TOPS_Tera-operations per second (requires op_count_)
TOPS_per_W_TOPS divided by average power (requires op_count_)
op_count_Operation count from instruction metadata
exec_time_Wall-clock simulation time
energy_reporter_Hierarchical energy breakdown tree

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