Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Legality check fails after additional sta #179

Open
levy-deng opened this issue May 16, 2024 · 3 comments
Open

Legality check fails after additional sta #179

levy-deng opened this issue May 16, 2024 · 3 comments

Comments

@levy-deng
Copy link

Hi Professor Lin,

After running this on the adaptec4 benchmark with the default json settings, I'm facing some strange behavior. I'm experiencing the issues that after the legalization step, Dreamplace decides to proceed with local optimization which fails legality checks.

[DEBUG  ] maximum grid spacing 3.40282e+38x3.40282e+38, equivalent to 0x0 bins
[DEBUG  ] Construct 2067x1253 Hannan grids, diamond search sequence 785005
[INFO   ] Legalize movable macros with linear programming on constraint graphs
[DEBUG  ] source 1329, terminal 1330
[DEBUG  ] Original slack: TNS[X/Y] = 0/0, WNS[X/Y] = 0/0
[DEBUG  ] Adjusted slack: TNS[X/Y] = 0/0, WNS[X/Y] = 0/0
[INFO   ] Macro displacement total 0, max 0, weighted total 0, max 0
[DEBUG  ] Macro legality check PASSED
[INFO   ] Align macros to site and rows
[DEBUG  ] Macro legality check PASSED
[INFO   ] Macro legalization takes 1803.82 ms
[DEBUG  ] Standard cell legalization blank_num_bins_y = 1944
[DEBUG  ] Standard cell legalization iteration 0 with 1x1 bins
[DEBUG  ] Standard cell legalization #bin_blanks
[DEBUG  ] #bin_objs = 33016
[INFO   ] Standard cell legalization legalizeBin takes 442.112 ms
[DEBUG  ] Standard cell legalization num_unplaced_cells = 0
[DEBUG  ] Standard cell legalization blank_num_bins_y = 1944
[DEBUG  ] Standard cell legalization iteration 0 with 1x1 bins
[DEBUG  ] Standard cell legalization #bin_blanks
[DEBUG  ] #bin_objs = 33016
[INFO   ] Standard cell legalization legalizeBin takes 413.824 ms
[DEBUG  ] Standard cell legalization num_unplaced_cells = 0
[INFO   ] Greedy legalization takes 1006.6 ms
[INFO   ] Legality check takes 38.7335 ms
[DEBUG  ] average displace = 27.1563
[INFO   ] Abacus legalization takes 77.6752 ms
[INFO   ] Legality check takes 38.7362 ms
[INFO   ] DREAMPlace - legalization takes 2.972 seconds
[INFO   ] DREAMPlace - additional sta after legalization
[INFO   ] DREAMPlace - iteration  889, wHPWL 1.382333E+08, time 4.713ms
[INFO   ] DREAMPlace - Start ABCDPlace for refinement
[INFO   ] Legality check takes 40.3756 ms
[INFO   ] DREAMPlace - ABCDPlace input legal flag = 1
[DEBUG  ] 4-reorder
[DEBUG  ] compute_independent_rows takes 18.6816 ms
[INFO   ] initial hpwl = 138234080.000
[INFO   ] Iter 0 time (ms)       922.768
[INFO   ] iteration 0: hpwl 138234080.000 => 136755040.000 (imp. 1.06995%)
[INFO   ] Iter 1 time (ms)       947.715
[INFO   ] iteration 1: hpwl 138234080.000 => 136480896.000 (imp. 1.26827%)
[INFO   ] kernel         time (ms)       runs
[INFO   ] compute_reorder_hpwl   8574.5          11595600        0.000739462
[INFO   ] apply_reorder          26.6447         483150          5.51478e-05
[INFO   ] K-reorder time: 1922.07 ms
[INFO   ] Legality check takes 39.9544 ms
[INFO   ] DREAMPlace - K-Reorder legal flag = 1
[INFO   ] diamond search grid size 64, sequence length 2048
[INFO   ] initial hpwl 1.36481e+08
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1275 sets, average set size 111, max set size 128
[INFO   ] iteration 0, target hpwl 1.35852e+08, delta -629328(-0.461111%), solved 1275 sets, moved 8.1793% cells, runtime 211.622 ms
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1089 sets, average set size 110, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1170 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1128 sets, average set size 108, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1150 sets, average set size 110, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1116 sets, average set size 109, max set size 128
[INFO   ] iteration 5, target hpwl 1.34739e+08, delta -1.74173e+06(-1.27617%), solved 1116 sets, moved 17.5311% cells, runtime 202.108 ms
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1155 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1124 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1141 sets, average set size 110, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1125 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1143 sets, average set size 109, max set size 128
[INFO   ] iteration 10, target hpwl 1.34294e+08, delta -2.18707e+06(-1.60247%), solved 1143 sets, moved 20.1421% cells, runtime 201.292 ms
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1134 sets, average set size 108, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1141 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1128 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1141 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1128 sets, average set size 109, max set size 128
[INFO   ] iteration 15, target hpwl 1.33982e+08, delta -2.49898e+06(-1.83101%), solved 1128 sets, moved 21.6617% cells, runtime 196.461 ms
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1141 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1133 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1142 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1137 sets, average set size 108, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1145 sets, average set size 109, max set size 128
[INFO   ] iteration 20, target hpwl 1.33823e+08, delta -2.65745e+06(-1.94712%), solved 1145 sets, moved 22.7254% cells, runtime 198.052 ms
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1132 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1136 sets, average set size 110, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1137 sets, average set size 108, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1150 sets, average set size 108, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1130 sets, average set size 109, max set size 128
[INFO   ] iteration 25, target hpwl 1.33654e+08, delta -2.82674e+06(-2.07116%), solved 1130 sets, moved 23.4678% cells, runtime 189.457 ms
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1145 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1130 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1139 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1133 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1144 sets, average set size 109, max set size 128
[INFO   ] iteration 30, target hpwl 1.33548e+08, delta -2.9333e+06(-2.14924%), solved 1144 sets, moved 24.1172% cells, runtime 189.521 ms
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1130 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1132 sets, average set size 110, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1141 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1150 sets, average set size 108, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1130 sets, average set size 109, max set size 128
[INFO   ] iteration 35, target hpwl 1.33443e+08, delta -3.03758e+06(-2.22564%), solved 1130 sets, moved 24.601% cells, runtime 184.385 ms
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1144 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1132 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1147 sets, average set size 108, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1139 sets, average set size 108, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1149 sets, average set size 108, max set size 128
[INFO   ] iteration 40, target hpwl 1.33376e+08, delta -3.10537e+06(-2.27531%), solved 1149 sets, moved 24.9897% cells, runtime 186.964 ms
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1133 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1146 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1136 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1145 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1139 sets, average set size 109, max set size 128
[INFO   ] iteration 45, target hpwl 1.33281e+08, delta -3.1999e+06(-2.34457%), solved 1139 sets, moved 25.3366% cells, runtime 201.5 ms
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1149 sets, average set size 108, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1139 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1142 sets, average set size 109, max set size 128
[DEBUG  ] maximal_independent_set_sequential
[DEBUG  ] 1141 sets, average set size 108, max set size 128
[INFO   ] iteration 49, target hpwl 1.33238e+08, delta -3.24274e+06(-2.37597%), solved 1141 sets, moved 25.5572% cells, runtime 189.484 ms
[DEBUG  ] random_shuffle takes 401.871 ms, 50 runs, average 8.03742 ms
[DEBUG  ] maximal_independent_set takes 4008.57 ms, 50 runs, average 80.1714 ms
[DEBUG  ] collect_independent_sets takes 680.305 ms, 50 runs, average 13.6061 ms
[DEBUG  ] cost_matrix_construction takes 1287.94 ms, 50 runs, average 25.7588 ms
[DEBUG  ] AuctionAlgorithmCPULauncher takes 3434.63 ms, 50 runs, average 68.6926 ms
[DEBUG  ] apply solution takes 22.8999 ms, 50 runs, average 0.457999 ms
[INFO   ] Independent set matching takes 10101.6 ms
[ERROR  ] row 185 (2220, 2232), overlap node 494734 (10915, 2220, 11491, 2436) with node 433609 (11419, 2220, 11438, 2232) site (11419, 11438), gap 72
[ERROR  ] row 186 (2232, 2244), overlap node 494734 (10915, 2220, 11491, 2436) with node 469470 (11419, 2232, 11438, 2244) site (11419, 11438), gap 72
[ERROR  ] row 187 (2244, 2256), overlap node 494734 (10915, 2220, 11491, 2436) with node 389887 (11436, 2244, 11444, 2256) site (11436, 11444), gap 55
[ERROR  ] row 188 (2256, 2268), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 189 (2268, 2280), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 190 (2280, 2292), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 191 (2292, 2304), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 192 (2304, 2316), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 193 (2316, 2328), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 194 (2328, 2340), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 195 (2340, 2352), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 196 (2352, 2364), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 197 (2364, 2376), overlap node 494734 (10915, 2220, 11491, 2436) with node 484284 (11419, 2364, 11434, 2376) site (11419, 11434), gap 72
[ERROR  ] row 198 (2376, 2388), overlap node 494734 (10915, 2220, 11491, 2436) with node 469469 (11426, 2376, 11445, 2388) site (11426, 11445), gap 65
[ERROR  ] row 199 (2388, 2400), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 200 (2400, 2412), overlap node 494734 (10915, 2220, 11491, 2436) with node 433608 (11432, 2400, 11440, 2412) site (11432, 11440), gap 59
[ERROR  ] row 201 (2412, 2424), overlap node 494734 (10915, 2220, 11491, 2436) with node 495938 (11446, 1992, 11950, 2424) site (11446, 11950), gap 45
[ERROR  ] row 337 (4044, 4056), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 338 (4056, 4068), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 339 (4068, 4080), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 340 (4080, 4092), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 341 (4092, 4104), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 342 (4104, 4116), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 343 (4116, 4128), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 344 (4128, 4140), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 345 (4140, 4152), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 346 (4152, 4164), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 347 (4164, 4176), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 348 (4176, 4188), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 349 (4188, 4200), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 350 (4200, 4212), overlap node 495406 (7063, 4044, 7711, 4260) with node 495412 (7574, 3996, 8222, 4212) site (7574, 8222), gap 137
[ERROR  ] row 1141 (13692, 13704), overlap node 495110 (1281, 13692, 1929, 13908) with node 338255 (1872, 13692, 1877, 13704) site (1872, 1877), gap 57
[ERROR  ] row 1142 (13704, 13716), overlap node 495110 (1281, 13692, 1929, 13908) with node 265390 (1918, 13704, 1928, 13716) site (1918, 1928), gap 11
[ERROR  ] row 1143 (13716, 13728), overlap node 495110 (1281, 13692, 1929, 13908) with node 338323 (1897, 13716, 1902, 13728) site (1897, 1902), gap 32
[ERROR  ] row 1144 (13728, 13740), overlap node 495110 (1281, 13692, 1929, 13908) with node 338321 (1883, 13728, 1888, 13740) site (1883, 1888), gap 46
[ERROR  ] row 1145 (13740, 13752), overlap node 495110 (1281, 13692, 1929, 13908) with node 264682 (1867, 13740, 1878, 13752) site (1867, 1878), gap 62
[ERROR  ] row 1146 (13752, 13764), overlap node 495110 (1281, 13692, 1929, 13908) with node 265340 (1904, 13752, 1915, 13764) site (1904, 1915), gap 25
[ERROR  ] row 1147 (13764, 13776), overlap node 495110 (1281, 13692, 1929, 13908) with node 264048 (1894, 13764, 1917, 13776) site (1894, 1917), gap 35
[ERROR  ] row 1148 (13776, 13788), overlap node 495110 (1281, 13692, 1929, 13908) with node 264870 (1846, 13776, 1876, 13788) site (1846, 1876), gap 83
[ERROR  ] row 1149 (13788, 13800), overlap node 495110 (1281, 13692, 1929, 13908) with node 265224 (1870, 13788, 1878, 13800) site (1870, 1878), gap 59
[ERROR  ] row 1150 (13800, 13812), overlap node 495110 (1281, 13692, 1929, 13908) with node 453116 (1851, 13800, 1867, 13812) site (1851, 1867), gap 78
[ERROR  ] row 1151 (13812, 13824), overlap node 495110 (1281, 13692, 1929, 13908) with node 453115 (1873, 13812, 1896, 13824) site (1873, 1896), gap 56
[ERROR  ] row 1152 (13824, 13836), overlap node 495110 (1281, 13692, 1929, 13908) with node 338285 (1907, 13824, 1912, 13836) site (1907, 1912), gap 22
[ERROR  ] row 1153 (13836, 13848), overlap node 495110 (1281, 13692, 1929, 13908) with node 262850 (1896, 13836, 1924, 13848) site (1896, 1924), gap 33
[ERROR  ] row 1154 (13848, 13860), overlap node 495110 (1281, 13692, 1929, 13908) with node 338271 (1895, 13848, 1900, 13860) site (1895, 1900), gap 34
[ERROR  ] row 1155 (13860, 13872), overlap node 495110 (1281, 13692, 1929, 13908) with node 264400 (1883, 13860, 1907, 13872) site (1883, 1907), gap 46
[ERROR  ] row 1156 (13872, 13884), overlap node 495110 (1281, 13692, 1929, 13908) with node 264850 (1891, 13872, 1913, 13884) site (1891, 1913), gap 38
[ERROR  ] row 1259 (15108, 15120), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1260 (15120, 15132), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1261 (15132, 15144), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1262 (15144, 15156), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1263 (15156, 15168), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1264 (15168, 15180), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1265 (15180, 15192), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1266 (15192, 15204), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1267 (15204, 15216), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1268 (15216, 15228), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1269 (15228, 15240), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1270 (15240, 15252), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1271 (15252, 15264), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1272 (15264, 15276), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1273 (15276, 15288), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1274 (15288, 15300), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1275 (15300, 15312), overlap node 495076 (1782, 15108, 2430, 15324) with node 495072 (2286, 15096, 2934, 15312) site (2286, 2934), gap 144
[ERROR  ] row 1501 (18012, 18024), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1502 (18024, 18036), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1503 (18036, 18048), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1504 (18048, 18060), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1505 (18060, 18072), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1506 (18072, 18084), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1507 (18084, 18096), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1508 (18096, 18108), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1509 (18108, 18120), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1510 (18120, 18132), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1511 (18132, 18144), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1512 (18144, 18156), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1513 (18156, 18168), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1514 (18168, 18180), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[ERROR  ] row 1515 (18180, 18192), overlap node 494887 (5778, 17976, 6282, 18192) with node 494903 (6199, 18012, 6703, 18228) site (6199, 6703), gap 83
[INFO   ] Legality check takes 36.5039 ms
[INFO   ] DREAMPlace - Independent set matching legal flag = 0
[INFO   ] DREAMPlace - detailed placement takes 12.145 seconds
[INFO   ] DREAMPlace - iteration  890, wHPWL 1.332414E+08, time 4.441ms
[INFO   ] DREAMPlace - non-linear placement takes 142.49 seconds
[INFO   ] DREAMPlace - writing to results/adaptec4/adaptec4.gp.pl
[INFO   ] writing placement to results/adaptec4/adaptec4.gp.pl
[INFO   ] DREAMPlace - write SolutionFileFormat.BOOKSHELF takes 0.137 seconds
[INFO   ] DREAMPlace - placement takes 151.604 seconds

Here's the config that I've modified from the default

{
"aux_input" : "benchmarks/ispd2005/adaptec4/adaptec4.aux", 
"gpu" : 0,
"num_bins_x" : 512,
"num_bins_y" : 512,
"global_place_stages" : [
    {"num_bins_x" : 512, "num_bins_y" : 512, "iteration" : 1000, "learning_rate" : 0.01, "wirelength" : "weighted_average", "optimizer" : "nesterov", "Llambda_density_weight_iteration" : 1, "Lsub_iteration" : 1}
],
"target_density" : 1,
"density_weight" : 8e-5,
"gamma" : 4.0,
"random_seed" : 1000,
"scale_factor" : 1.0,
"ignore_net_degree" : 100,
"enable_fillers" : 1,
"gp_noise_ratio" : 0.025,
"macro_place_flag" : 1,
"macro_halo_x": 10,
"macro_halo_y": 10,
"global_place_flag" : 1,
"legalize_flag" : 1,
"detailed_place_flag" : 1,
"detailed_place_engine" : "", 
"detailed_place_command" : "", 
"stop_overflow" : 0.07, 
"dtype" : "float32", 
"plot_flag" : 0, 
"random_center_init_flag" : 1,
"sort_nets_by_degree" : 0,
"num_threads" : 8,
"deterministic_flag" : 0,
"use_bb": 1
}

Important things to note is that, I'm using the CPU purely.

Additionally, Using the default config for adaptec4 seems to yield whpwl of around 1.8, which is very different from the numbers shown in the table. I'm wondering if I've misconfigured the tool?

@limbo018
Copy link
Owner

limbo018 commented May 20, 2024

Hi, the table is for macro placement, where you need to modify the input files by relaxing the fixed nodes to movable. Since you have more freedom to move nodes, the HPWL is smaller. You can download the benchmarks using the link in the readme.
image

For the second run with timing optimization, I don't know how you enable it, as ispd2005 benchmarks do not provide timing library, which should contain delay information. Therefore, it does not support timing optimization.

Only ICCAD 2015 benchmarks provide timing library. The json files are in the test/iccad2015.ot folder. You can try it out.

@enzoleo
Copy link
Contributor

enzoleo commented May 20, 2024

@limbo018 Probably the report of that additional sta in Line 768 should appear after the check of timing_opt_flag. The current version will report this line every time after legalization even if the timing optimization is not enabled.

@limbo018
Copy link
Owner

limbo018 commented May 20, 2024

Line 768

@enzoleo Good point. Fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants