verilator/test_regress/t/t_gantt_io_arm.dat
Geza Lore b1b5b5dfe2 Improve run-time profiling
The --prof-threads option has been split into two independent options:
1. --prof-exec, for collecting verilator_gantt and other execution
related profiling data, and
2. --prof-pgo, for collecting data needed for PGO

The implementation of execution profiling is extricated from
VlThreadPool and is now a separate class VlExecutionProfiler. This means
--prof-exec can now be used for single-threaded models (though it does
not measure a lot of things just yet). For consistency VerilatedProfiler
is renamed VlPgoProfiler. Both VlExecutionProfiler and VlPgoProfiler are
in verilated_profiler.{h/cpp}, but can be used completely independently.

Also re-worked the execution profile format so it now only emits events
without holding onto any temporaries. This is in preparation for some
future optimizations that would be hindered by the introduction of function
locals via AstText.

Also removed the Barrier event. Clearing the profile buffers is not
notably more expensive as the profiling records are trivially
destructible.
2022-03-27 15:57:30 +02:00

63 lines
2.2 KiB
Plaintext

VLPROFVERSION 2.0
VLPROF arg +verilator+prof+exec+start+1
VLPROF arg +verilator+prof+exec+window+2
VLPROF stat threads 2
VLPROF stat yields 51
VLPROFPROC processor : 0
VLPROFPROC model name : Phytium,FT-2500/128
VLPROFPROC BogoMIPS : 100.00
VLPROFPROC Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
VLPROFPROC CPU implementer : 0x70
VLPROFPROC CPU architecture: 8
VLPROFPROC CPU variant : 0x1
VLPROFPROC CPU part : 0x663
VLPROFPROC CPU revision : 3
VLPROFPROC
VLPROFPROC processor : 1
VLPROFPROC model name : Phytium,FT-2500/128
VLPROFPROC BogoMIPS : 100.00
VLPROFPROC Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
VLPROFPROC CPU implementer : 0x70
VLPROFPROC CPU architecture: 8
VLPROFPROC CPU variant : 0x1
VLPROFPROC CPU part : 0x663
VLPROFPROC CPU revision : 3
VLPROFPROC
VLPROFPROC processor : 2
VLPROFPROC model name : Phytium,FT-2500/128
VLPROFPROC BogoMIPS : 100.00
VLPROFPROC Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
VLPROFPROC CPU implementer : 0x70
VLPROFPROC CPU architecture: 8
VLPROFPROC CPU variant : 0x1
VLPROFPROC CPU part : 0x663
VLPROFPROC CPU revision : 3
VLPROFPROC
VLPROFPROC processor : 3
VLPROFPROC model name : Phytium,FT-2500/128
VLPROFPROC BogoMIPS : 100.00
VLPROFPROC Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
VLPROFPROC CPU implementer : 0x70
VLPROFPROC CPU architecture: 8
VLPROFPROC CPU variant : 0x1
VLPROFPROC CPU part : 0x663
VLPROFPROC CPU revision : 3
VLPROFPROC
VLPROFTHREAD 0
VLPROFEXEC EVAL_BEGIN 57709
VLPROFEXEC EVAL_LOOP_BEGIN 58532
VLPROFEXEC MTASK_BEGIN 90465 id 85 predictStart 14315 cpu 2
VLPROFEXEC MTASK_END 155034 id 85 predictCost 30533
VLPROFEXEC MTASK_BEGIN 156555 id 79 predictStart 44848 cpu 2
VLPROFEXEC MTASK_END 294309 id 79 predictCost 48001
VLPROFEXEC EVAL_LOOP_END 18028850
VLPROFEXEC EVAL_END 1803680
VLPROFTHREAD 1
VLPROFEXEC MTASK_BEGIN 77352 id 90 predictStart 14315 cpu 3
VLPROFEXEC MTASK_END 78511 id 90 predictCost 21592
VLPROFEXEC MTASK_BEGIN 79799 id 81 predictStart 35907 cpu 3
VLPROFEXEC MTASK_END 80667 id 81 predictCost 29215
VLPROFEXEC MTASK_BEGIN 81746 id 87 predictStart 65147 cpu 3
VLPROFEXEC MTASK_END 82633 id 87 predictCost 33809
VLPROF stat ticks 180832