add some debug info for dispatch queue and regression
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
This commit is contained in:
parent
2daf7a9bb7
commit
d53029aba1
|
|
@ -338,6 +338,12 @@ Sta::setThreadCount1(int thread_count)
|
|||
dispatch_queue_ = new DispatchQueue(thread_count);
|
||||
}
|
||||
|
||||
uint64_t
|
||||
Sta::dispatchCallCount() const
|
||||
{
|
||||
return dispatch_queue_ ? dispatch_queue_->dispatchCallCount() : 0;
|
||||
}
|
||||
|
||||
void
|
||||
Sta::updateComponentsState()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ sta_module_tests("search"
|
|||
genclk_latch_deep
|
||||
genclk_property_report
|
||||
json_unconstrained
|
||||
kahns_bfs_dispatch
|
||||
latch
|
||||
latch_timing
|
||||
levelize_loop_disabled
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
Warning 198: ../../examples/gcd_sky130hd.v line 527, module sky130_fd_sc_hd__tapvpwrvgnd_1 not found. Creating black box for TAP_11.
|
||||
off_dispatches=203
|
||||
on_dispatches=1060
|
||||
on_to_off_ratio=5.22x
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
# Performance regression: DispatchQueue dispatch() counts under Kahn's
|
||||
# BFS OFF vs ON. The count is a wall-clock-independent proxy for
|
||||
# parallel-dispatch overhead, so a shift in the golden signals a real
|
||||
# change in the BFS/dispatch strategy.
|
||||
|
||||
read_liberty ../../test/sky130hd/sky130hd_tt.lib
|
||||
read_verilog ../../examples/gcd_sky130hd.v
|
||||
link_design gcd
|
||||
|
||||
sta::set_thread_count 2
|
||||
source ../../examples/gcd_sky130hd.sdc
|
||||
|
||||
# OFF phase: level-based BFS.
|
||||
set sta_use_kahns_bfs 0
|
||||
set before [sta::dispatch_call_count]
|
||||
report_checks -path_delay min_max -group_count 10 > /dev/null
|
||||
set off_dispatches [expr {[sta::dispatch_call_count] - $before}]
|
||||
|
||||
# ON phase: Kahn's BFS. Invalidate arrivals so the iterators
|
||||
# re-propagate through visitParallel instead of returning cached
|
||||
# results.
|
||||
sta::arrivals_invalid
|
||||
set sta_use_kahns_bfs 1
|
||||
set before [sta::dispatch_call_count]
|
||||
report_checks -path_delay min_max -group_count 10 > /dev/null
|
||||
set on_dispatches [expr {[sta::dispatch_call_count] - $before}]
|
||||
|
||||
puts "off_dispatches=$off_dispatches"
|
||||
puts "on_dispatches=$on_dispatches"
|
||||
puts [format "on_to_off_ratio=%.2fx" \
|
||||
[expr {$on_dispatches / double($off_dispatches)}]]
|
||||
Loading…
Reference in New Issue