mirror of
https://github.com/verilator/verilator.git
synced 2025-02-02 03:34:05 +00:00
b1b5b5dfe2
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.
63 lines
2.2 KiB
Plaintext
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
|