Skip to content

Commit 2a5e12e

Browse files
committed
[Router] Added Assert for MQ_IO numQueues and Updated Golden Results
Added assert for MultiQueueIO numQueues to ensure it must be greater than two. Updated CI test tasks to ensure the parallel connection router runs in Dijkstra mode to ensure determinism and avoid hanging in CI runs.
1 parent 2029463 commit 2a5e12e

File tree

11 files changed

+52
-44
lines changed

11 files changed

+52
-44
lines changed

vpr/src/route/multi_queue_d_ary_heap.tpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@ class MultiQueueIO {
9494
, NUM_QUEUES(numQueues)
9595
, threadNum(numThreads)
9696
, numEmpty(numQueues)
97-
, batchSize(batch) {}
97+
, batchSize(batch) {
98+
assert((numQueues >= 2) && "numQueues must be set >= 2");
99+
}
98100

99101
#ifdef PERF
100102
uint64_t __attribute__((noinline)) ThreadLocalRandom() {

vtr_flow/tasks/regression_tests/vtr_reg_strong/koios_test/config/config.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ pass_requirements_file=pass_requirements.txt
3838
script_params_common=-track_memory_usage
3939
script_params_list_add =
4040
script_params_list_add = --router_algorithm parallel
41-
script_params_list_add = --enable_parallel_connection_router on
42-
script_params_list_add = --enable_parallel_connection_router on --multi_queue_num_threads 4 --multi_queue_num_queues 16
43-
script_params_list_add = --enable_parallel_connection_router on --multi_queue_num_threads 2 --multi_queue_num_queues 4 --multi_queue_direct_draining on
41+
script_params_list_add = --enable_parallel_connection_router on --astar_fac 0.0 --post_target_prune_fac 0.0 --post_target_prune_offset 0.0
42+
script_params_list_add = --enable_parallel_connection_router on --multi_queue_num_threads 4 --multi_queue_num_queues 16 --astar_fac 0.0 --post_target_prune_fac 0.0 --post_target_prune_offset 0.0
43+
script_params_list_add = --enable_parallel_connection_router on --multi_queue_num_threads 2 --multi_queue_num_queues 4 --multi_queue_direct_draining on --astar_fac 0.0 --post_target_prune_fac 0.0 --post_target_prune_offset 0.0
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
arch circuit script_params vtr_flow_elapsed_time vtr_max_mem_stage vtr_max_mem error odin_synth_time max_odin_mem parmys_synth_time max_parmys_mem abc_depth abc_synth_time abc_cec_time abc_sec_time max_abc_mem ace_time max_ace_mem num_clb num_io num_memories num_mult vpr_status vpr_revision vpr_build_info vpr_compiler vpr_compiled hostname rundir max_vpr_mem num_primary_inputs num_primary_outputs num_pre_packed_nets num_pre_packed_blocks num_netlist_clocks num_post_packed_nets num_post_packed_blocks device_width device_height device_grid_tiles device_limiting_resources device_name pack_mem pack_time initial_placed_wirelength_est placed_wirelength_est total_swap accepted_swap rejected_swap aborted_swap place_mem place_time place_quench_time initial_placed_CPD_est placed_CPD_est placed_setup_TNS_est placed_setup_WNS_est placed_geomean_nonvirtual_intradomain_critical_path_delay_est place_delay_matrix_lookup_time place_quench_timing_analysis_time place_quench_sta_time place_total_timing_analysis_time place_total_sta_time ap_mem ap_time ap_full_legalizer_mem ap_full_legalizer_time min_chan_width routed_wirelength min_chan_width_route_success_iteration logic_block_area_total logic_block_area_used min_chan_width_routing_area_total min_chan_width_routing_area_per_tile min_chan_width_route_time min_chan_width_total_timing_analysis_time min_chan_width_total_sta_time crit_path_num_rr_graph_nodes crit_path_num_rr_graph_edges crit_path_collapsed_nodes crit_path_routed_wirelength crit_path_route_success_iteration crit_path_total_nets_routed crit_path_total_connections_routed crit_path_total_heap_pushes crit_path_total_heap_pops critical_path_delay geomean_nonvirtual_intradomain_critical_path_delay setup_TNS setup_WNS hold_TNS hold_WNS crit_path_routing_area_total crit_path_routing_area_per_tile router_lookahead_computation_time crit_path_route_time crit_path_create_rr_graph_time crit_path_create_intra_cluster_rr_graph_time crit_path_tile_lookahead_computation_time crit_path_router_lookahead_computation_time crit_path_total_timing_analysis_time crit_path_total_sta_time
2-
k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml test.v common 4.41 vpr 75.36 MiB -1 -1 0.19 17940 1 0.05 -1 -1 31600 -1 -1 12 130 0 -1 success cdda01bb5 release IPO VTR_ASSERT_LEVEL=2 GNU 13.3.0 on Linux-6.8.0-58-generic x86_64 2025-04-25T09:43:13 betzgrp-wintermute /home/yanhang1/parallel-router/vtr-verilog-to-routing/vtr_flow/tasks 77168 130 40 596 562 1 356 185 14 14 196 dsp_top auto 36.3 MiB 0.10 3253 1906 39109 13750 20961 4398 75.4 MiB 0.14 0.00 5.12303 5.12303 -649.023 -5.12303 5.12303 0.22 0.000974867 0.000904716 0.077352 0.0718699 -1 -1 -1 -1 82 3601 9 4.93594e+06 1.0962e+06 1.23902e+06 6321.54 2.25 0.377802 0.348243 33448 250998 -1 3687 9 800 863 234820 89374 4.57723 4.57723 -726.049 -4.57723 0 0 1.53308e+06 7821.82 0.04 0.07 0.22 -1 -1 0.04 0.0332833 0.0315356
3-
k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml test.v common_--router_algorithm_parallel 4.54 vpr 75.36 MiB -1 -1 0.19 17936 1 0.05 -1 -1 31376 -1 -1 12 130 0 -1 success cdda01bb5 release IPO VTR_ASSERT_LEVEL=2 GNU 13.3.0 on Linux-6.8.0-58-generic x86_64 2025-04-25T09:43:13 betzgrp-wintermute /home/yanhang1/parallel-router/vtr-verilog-to-routing/vtr_flow/tasks 77168 130 40 596 562 1 356 185 14 14 196 dsp_top auto 36.1 MiB 0.11 3253 1906 39109 13750 20961 4398 75.4 MiB 0.14 0.00 5.12303 5.12303 -649.023 -5.12303 5.12303 0.23 0.000981081 0.000906865 0.0786348 0.0731135 -1 -1 -1 -1 82 3585 15 4.93594e+06 1.0962e+06 1.23902e+06 6321.54 2.38 0.403967 0.372656 33448 250998 -1 3715 9 792 819 214644 81314 4.57723 4.57723 -685.291 -4.57723 0 0 1.53308e+06 7821.82 0.04 0.06 0.21 -1 -1 0.04 0.0307442 0.0291164
4-
k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml test.v common_--enable_parallel_connection_router_on 4.52 vpr 75.37 MiB -1 -1 0.20 17940 1 0.05 -1 -1 31712 -1 -1 12 130 0 -1 success cdda01bb5 release IPO VTR_ASSERT_LEVEL=2 GNU 13.3.0 on Linux-6.8.0-58-generic x86_64 2025-04-25T09:43:13 betzgrp-wintermute /home/yanhang1/parallel-router/vtr-verilog-to-routing/vtr_flow/tasks 77176 130 40 596 562 1 356 185 14 14 196 dsp_top auto 36.3 MiB 0.10 3253 1906 39109 13750 20961 4398 75.4 MiB 0.14 0.00 5.12303 5.12303 -649.023 -5.12303 5.12303 0.22 0.000979303 0.00090991 0.077946 0.0724613 -1 -1 -1 -1 82 3581 10 4.93594e+06 1.0962e+06 1.23902e+06 6321.54 2.36 0.375357 0.346115 33448 250998 -1 3699 9 747 819 220831 220831 4.57723 4.57723 -679.037 -4.57723 0 0 1.53308e+06 7821.82 0.04 0.08 0.21 -1 -1 0.04 0.0313828 0.0297241
5-
k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml test.v common_--enable_parallel_connection_router_on_--multi_queue_num_threads_4_--multi_queue_num_queues_16 5.06 vpr 74.98 MiB -1 -1 0.19 17956 1 0.05 -1 -1 31380 -1 -1 12 130 0 -1 success cdda01bb5 release IPO VTR_ASSERT_LEVEL=2 GNU 13.3.0 on Linux-6.8.0-58-generic x86_64 2025-04-25T09:43:13 betzgrp-wintermute /home/yanhang1/parallel-router/vtr-verilog-to-routing/vtr_flow/tasks 76780 130 40 596 562 1 356 185 14 14 196 dsp_top auto 36.3 MiB 0.10 3253 1906 39109 13750 20961 4398 75.0 MiB 0.14 0.00 5.12303 5.12303 -649.023 -5.12303 5.12303 0.22 0.000974681 0.00090508 0.0774429 0.0719617 -1 -1 -1 -1 82 3638 20 4.93594e+06 1.0962e+06 1.23902e+06 6321.54 2.83 0.404389 0.372638 33448 250998 -1 3485 9 735 762 269282 269282 4.57723 4.57723 -660.925 -4.57723 0 0 1.53308e+06 7821.82 0.04 0.14 0.21 -1 -1 0.04 0.0317757 0.0300764
6-
k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml test.v common_--enable_parallel_connection_router_on_--multi_queue_num_threads_2_--multi_queue_num_queues_4_--multi_queue_direct_draining_on 5.20 vpr 74.15 MiB -1 -1 0.22 17572 1 0.06 -1 -1 31392 -1 -1 12 130 0 -1 success cdda01bb5 release IPO VTR_ASSERT_LEVEL=2 GNU 13.3.0 on Linux-6.8.0-58-generic x86_64 2025-04-25T09:43:13 betzgrp-wintermute /home/yanhang1/parallel-router/vtr-verilog-to-routing/vtr_flow/tasks 75932 130 40 596 562 1 356 185 14 14 196 dsp_top auto 35.1 MiB 0.11 3253 1906 39109 13750 20961 4398 74.2 MiB 0.14 0.00 5.12303 5.12303 -649.023 -5.12303 5.12303 0.23 0.000986009 0.000916173 0.0784056 0.0728838 -1 -1 -1 -1 82 3602 9 4.93594e+06 1.0962e+06 1.23902e+06 6321.54 2.86 0.418875 0.386466 33448 250998 -1 3679 10 722 785 234800 89746 4.57723 4.57723 -676.631 -4.57723 0 0 1.53308e+06 7821.82 0.04 0.12 0.21 -1 -1 0.04 0.0325316 0.0307593
2+
k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml test.v common 3.48 vpr 75.41 MiB -1 -1 0.19 18324 1 0.06 -1 -1 31768 -1 -1 12 130 0 -1 success cdda01bb5 release IPO VTR_ASSERT_LEVEL=2 GNU 13.3.0 on Linux-6.8.0-58-generic x86_64 2025-04-25T09:43:13 betzgrp-wintermute /home/yanhang1/parallel-router/vtr-verilog-to-routing/vtr_flow/tasks 77216 130 40 596 562 1 356 185 14 14 196 dsp_top auto 36.3 MiB 0.10 3253 1906 39109 13750 20961 4398 75.4 MiB 0.14 0.00 5.12303 5.12303 -649.023 -5.12303 5.12303 0.21 0.000959753 0.000891145 0.0766671 0.0712909 -1 -1 -1 -1 82 3601 9 4.93594e+06 1.0962e+06 1.23902e+06 6321.54 1.37 0.355125 0.327648 33448 250998 -1 3687 9 800 863 234820 89374 4.57723 4.57723 -726.049 -4.57723 0 0 1.53308e+06 7821.82 0.04 0.06 0.21 -1 -1 0.04 0.0293975 0.0278224
3+
k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml test.v common_--router_algorithm_parallel 3.89 vpr 75.53 MiB -1 -1 0.23 18320 1 0.05 -1 -1 31776 -1 -1 12 130 0 -1 success cdda01bb5 release IPO VTR_ASSERT_LEVEL=2 GNU 13.3.0 on Linux-6.8.0-58-generic x86_64 2025-04-25T09:43:13 betzgrp-wintermute /home/yanhang1/parallel-router/vtr-verilog-to-routing/vtr_flow/tasks 77340 130 40 596 562 1 356 185 14 14 196 dsp_top auto 36.7 MiB 0.11 3253 1906 39109 13750 20961 4398 75.5 MiB 0.17 0.00 5.12303 5.12303 -649.023 -5.12303 5.12303 0.24 0.00102819 0.000958054 0.0952184 0.0886972 -1 -1 -1 -1 82 3585 15 4.93594e+06 1.0962e+06 1.23902e+06 6321.54 1.58 0.448941 0.416021 33448 250998 -1 3715 9 792 819 214644 81314 4.57723 4.57723 -685.291 -4.57723 0 0 1.53308e+06 7821.82 0.04 0.07 0.23 -1 -1 0.04 0.0342816 0.0320854
4+
k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml test.v common_--enable_parallel_connection_router_on_--astar_fac_0.0_--post_target_prune_fac_0.0_--post_target_prune_offset_0.0 4.44 vpr 76.07 MiB -1 -1 0.24 17952 1 0.05 -1 -1 31776 -1 -1 12 130 0 -1 success cdda01bb5 release IPO VTR_ASSERT_LEVEL=2 GNU 13.3.0 on Linux-6.8.0-58-generic x86_64 2025-04-25T09:43:13 betzgrp-wintermute /home/yanhang1/parallel-router/vtr-verilog-to-routing/vtr_flow/tasks 77900 130 40 596 562 1 356 185 14 14 196 dsp_top auto 37.0 MiB 0.10 3253 1906 39109 13750 20961 4398 76.1 MiB 0.14 0.00 5.12303 5.12303 -649.023 -5.12303 5.12303 0.22 0.000977261 0.000906881 0.0777213 0.0722525 -1 -1 -1 -1 82 3577 9 4.93594e+06 1.0962e+06 1.23902e+06 6321.54 2.15 0.365923 0.337593 33448 250998 -1 3424 10 688 706 802567 802567 4.57723 4.57723 -678.711 -4.57723 0 0 1.53308e+06 7821.82 0.04 0.21 0.21 -1 -1 0.04 0.0310482 0.0293918
5+
k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml test.v common_--enable_parallel_connection_router_on_--multi_queue_num_threads_4_--multi_queue_num_queues_16_--astar_fac_0.0_--post_target_prune_fac_0.0_--post_target_prune_offset_0.0 4.66 vpr 76.11 MiB -1 -1 0.19 18336 1 0.05 -1 -1 31752 -1 -1 12 130 0 -1 success cdda01bb5 release IPO VTR_ASSERT_LEVEL=2 GNU 13.3.0 on Linux-6.8.0-58-generic x86_64 2025-04-25T09:43:13 betzgrp-wintermute /home/yanhang1/parallel-router/vtr-verilog-to-routing/vtr_flow/tasks 77936 130 40 596 562 1 356 185 14 14 196 dsp_top auto 37.0 MiB 0.10 3253 1906 39109 13750 20961 4398 76.1 MiB 0.14 0.00 5.12303 5.12303 -649.023 -5.12303 5.12303 0.21 0.000953879 0.00088635 0.076401 0.0709941 -1 -1 -1 -1 82 3577 9 4.93594e+06 1.0962e+06 1.23902e+06 6321.54 2.35 0.375353 0.346219 33448 250998 -1 3424 10 688 706 784337 784337 4.57723 4.57723 -678.711 -4.57723 0 0 1.53308e+06 7821.82 0.04 0.28 0.21 -1 -1 0.04 0.0314543 0.0297544
6+
k6FracN10LB_mem20K_complexDSP_customSB_22nm.xml test.v common_--enable_parallel_connection_router_on_--multi_queue_num_threads_2_--multi_queue_num_queues_4_--multi_queue_direct_draining_on_--astar_fac_0.0_--post_target_prune_fac_0.0_--post_target_prune_offset_0.0 4.47 vpr 76.11 MiB -1 -1 0.19 18336 1 0.05 -1 -1 31764 -1 -1 12 130 0 -1 success cdda01bb5 release IPO VTR_ASSERT_LEVEL=2 GNU 13.3.0 on Linux-6.8.0-58-generic x86_64 2025-04-25T09:43:13 betzgrp-wintermute /home/yanhang1/parallel-router/vtr-verilog-to-routing/vtr_flow/tasks 77936 130 40 596 562 1 356 185 14 14 196 dsp_top auto 37.0 MiB 0.10 3253 1906 39109 13750 20961 4398 76.1 MiB 0.14 0.00 5.12303 5.12303 -649.023 -5.12303 5.12303 0.22 0.000953407 0.000885151 0.0766354 0.0712962 -1 -1 -1 -1 82 3577 9 4.93594e+06 1.0962e+06 1.23902e+06 6321.54 2.12 0.360483 0.332708 33448 250998 -1 3424 10 688 706 797445 321701 4.57723 4.57723 -678.711 -4.57723 0 0 1.53308e+06 7821.82 0.04 0.32 0.21 -1 -1 0.04 0.0323769 0.0306371

vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_flat_router/config/config.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ pass_requirements_file=pass_requirements.txt
2727
script_params_common=-track_memory_usage --route_chan_width 100 --max_router_iterations 100 --router_lookahead map --flat_routing on
2828
script_params_list_add =
2929
script_params_list_add = --router_algorithm parallel --num_workers 4
30-
script_params_list_add = --enable_parallel_connection_router on
31-
script_params_list_add = --enable_parallel_connection_router on --multi_queue_num_threads 4 --multi_queue_num_queues 16
32-
script_params_list_add = --enable_parallel_connection_router on --multi_queue_num_threads 2 --multi_queue_num_queues 4 --multi_queue_direct_draining on
30+
script_params_list_add = --enable_parallel_connection_router on --astar_fac 0.0 --post_target_prune_fac 0.0 --post_target_prune_offset 0.0
31+
script_params_list_add = --enable_parallel_connection_router on --multi_queue_num_threads 4 --multi_queue_num_queues 16 --astar_fac 0.0 --post_target_prune_fac 0.0 --post_target_prune_offset 0.0
32+
script_params_list_add = --enable_parallel_connection_router on --multi_queue_num_threads 2 --multi_queue_num_queues 4 --multi_queue_direct_draining on --astar_fac 0.0 --post_target_prune_fac 0.0 --post_target_prune_offset 0.0

0 commit comments

Comments
 (0)