Previous journal: | Next journal: |
---|---|
0138-2023-08-31.md | 0140-2023-09-02.md |
- harden_test.sh updated to support more-complex args:
$ ./harden_test.sh -h Usage: ./harden_test.sh [OPTIONS] [SELECT] OPTIONS can include: -h Show this help. -t STRING Include STRING as an extra heading in the summary file. -o OUTFILE Specify output summary file instead of default timestamped stats-*.md -f Force overwriting of OUTFILE if it already exists. -- Stop processing options; remaining arguments are literal. SELECT, if provided, is an extended regular expression that will specify which combos to run. It gets matched against the name of each combo: 4x2:1 4x2:2 ... 4x2:5 8x2:1 8x2:2 ... 8x2:5
- harden_test.sh includes more info in summary file:
- tt04-raybox-zero last commit
- Included src/raybox-zero last commit
- Tag (if
-t
given in args) - Options used
- Start/finish timestamps
- test001-notex-notracetest: Integrated stuff from yesterday (no 'tex'), and merged TraceStep/TraceTest states.
- Merged states mean 1 state per ray step instead of 2 (trace completes in half the line time).
- Runs fine in sim.
- Subtle difference: Only seems to be relevant when player is inside a wall cell (which is out-of-bounds anyway).
- test002-vdistreg: Branched off test001 to try using a register for visualWallDist (to avoid dual post-subtractors in a mux).
- Runs fine in sim.
- Subtle difference: Subtle difference is that when walking into a wall cell, the effect is as though we've 'stuck' at the last rendered size. This is fine and probably better than what test001 is doing (though neither should matter).
Click for details...
Code:
- tt04-raybox-zero:
6b0e41e
: Combo 5 added to harden_test- Equivalent to:
7aae611
: Wire up SPI for fixed pov
- Equivalent to:
- src/raybox-zero:
5408d42
: Add in winrand.bat for sim build on Windows- Equivalent to:
ff05791
: Fix map size parameters
- Equivalent to:
Summary:
- Using shared_rcp branch for all
- height_scaler already merged into wall_tracer shared_reciprocal
MAP_*
parameter use fixed in rbzero.vTRACE_STATE_DEBUG
option exists, but all such options are disabled (i.e. no map overlay, no debug overlay, no trace state visualisation).
4x2:1 | 8x2:1 | 4x2:2 | 8x2:2 | 4x2:3 | 8x2:3 | 4x2:4 | 8x2:4 | 4x2:5 | 8x2:5 | |
---|---|---|---|---|---|---|---|---|---|---|
suggested_mhz | 24.39 | 25.00 | 47.62 | 50.00 | 47.62 | 39.51 | 47.62 | 42.39 | 25.00 | 25.00 |
utilisation_% | 73.25 | 36.35 | 73.25 | 36.35 | 59.77 | 29.66 | 61.63 | 30.59 | 60.51 | 30.03 |
wire_length_um | 0 | 334,824 | 0 | 337,985 | 0 | 493,833 | 0 | 252,688 | 239,269 | 249,952 |
TotalCells | 13,003 | 38,080 | 13,003 | 38,063 | 0 | 0 | 11,528 | 37,229 | 22,082 | 37,106 |
cells_pre_abc | 14,944 | 14,944 | 14,944 | 14,944 | 14,956 | 14,956 | 14,944 | 14,944 | 14,944 | 14,944 |
synth_cell_count | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
logic_cells | 10,683 | 11,215 | 10,683 | 11,288 | 9,146 | 9,250 | 9,208 | 9,746 | 9,713 | 9,732 |
Findings:
- Combo 5 fits in 4x2: 60.51% util out of possible 65%, with 25MHz achieved.
- 8x2:2 can hit 50MHz.
- 8x2:3 FAILED. I'll avoid running combo 3 in future because I've had it hang other times too.
- Combo 4 max speed is about 42.4MHz out of target 50MHz.
- Typical start cells is ~15k, final ~9.7k
- Not sure why synth results are a bit larger than in previous runs. Probably bad luck with yosys randomness from source formatting.
Click for details...
Code:
- tt04-raybox-zero:
c452d31
: harden_test: Adding a little more stats data- Equivalent to:
7aae611
: Wire up SPI for fixed pov
- Equivalent to:
- src/raybox-zero:
84edb52
: test001: Merged TraceStep/TraceTest; commented out 'tex' logic.- Equivalent to:
ff05791
: Fix map size parameters
- Equivalent to:
Summary:
- Commented out 'tex' logic. Probably makes little difference; synthed out anyway?
- Merged the TraceStep and TraceTest states. This works because we have 0-WS map ROM access, but slightly change the initial condition logic (but not in a way that should matter, i.e. I think only different if the player is standing in an occupied map cell)?
Options used:
STARTED: 2023-09-01 17:10:58
STOPT: 0
OUTFILE: stats-notex-tracemerge.md
SELECT: :[1245]
FORCE: 1
TAG: test001: Merged TraceStep/TraceTest; commented out 'tex' logic
FINISHED: 2023-09-01 17:49:05
4x2:1 | 8x2:1 | 4x2:2 | 8x2:2 | 4x2:3 | 8x2:3 | 4x2:4 | 8x2:4 | 4x2:5 | 8x2:5 | |
---|---|---|---|---|---|---|---|---|---|---|
suggested_mhz | 24.39 | 25.00 | 47.62 | 48.17 | 0.00 | 0.00 | 47.62 | 44.86 | 25.00 | 25.00 |
utilisation_% | 72.77 | 36.11 | 72.77 | 36.11 | 0.00 | 0.00 | 60.65 | 30.10 | 60.50 | 30.03 |
wire_length_um | 0 | 332,679 | 0 | 334,262 | 0 | 0 | 0 | 244,998 | 247,230 | 253,460 |
TotalCells | 12,986 | 38,035 | 12,986 | 38,086 | 0 | 0 | 11,578 | 37,354 | 22,232 | 37,370 |
cells_pre_abc | 14,962 | 14,962 | 14,962 | 14,962 | 0 | 0 | 14,962 | 14,962 | 14,962 | 14,962 |
synth_cells | 10,666 | 10,666 | 10,666 | 10,666 | 0 | 0 | 9,258 | 9,258 | 9,258 | 9,258 |
logic_cells | 10,666 | 11,175 | 10,666 | 11,264 | 0 | 0 | 9,258 | 9,785 | 9,758 | 9,772 |
pin_antennas | -1 | 6 | -1 | 4 | 0 | 0 | -1 | 2 | 3 | 4 |
net_antennas | -1 | 6 | -1 | 4 | 0 | 0 | -1 | 2 | 3 | 4 |
spef_wns | 0.00 | 0.00 | 0.00 | -0.76 | 0.00 | 0.00 | 0.00 | -2.29 | 0.00 | 0.00 |
spef_tns | 0.00 | 0.00 | 0.00 | -28.37 | 0.00 | 0.00 | 0.00 | -123.10 | 0.00 | 0.00 |
Findings:
- Combo 5 is the same (or marginally worse). Still fits as 4x2:5 -- Tracing should complete in half the line time now, though.
- 8x2:4 has slightly better speed for ~same area: 44.86MHz vs. 42.39MHz
- Fastest is 8x2:2 at 48.17MHz
Click for details...
Code:
- tt04-raybox-zero:
c452d31
: harden_test: Adding a little more stats data- Equivalent to:
7aae611
: Wire up SPI for fixed pov
- Equivalent to:
- src/raybox-zero:
03f53f3
: test002: Registered visualWallDist avoids post-subtraction
Summary:
- visualWallDist was calculated by 'back-stepping' trackDist, with a mux based on side.
- This test changes it to a register that directly records the distance previous value while trackDist advances.
Options used:
STARTED: 2023-09-01 17:43:13
STOPT: 0
OUTFILE: stats-test002.md
SELECT: :[1245]
FORCE: 0
TAG: test002: Registered visualWallDist avoids post-subtraction
FINISHED: 2023-09-01 18:25:06
4x2:1 | 8x2:1 | 4x2:2 | 8x2:2 | 4x2:3 | 8x2:3 | 4x2:4 | 8x2:4 | 4x2:5 | 8x2:5 | |
---|---|---|---|---|---|---|---|---|---|---|
suggested_mhz | 24.39 | 25.00 | 47.62 | 50.00 | 0.00 | 0.00 | 47.62 | 45.13 | 25.00 | 25.00 |
utilisation_% | 70.84 | 35.16 | 70.84 | 35.16 | 0.00 | 0.00 | 60.45 | 30.00 | 59.47 | 29.51 |
wire_length_um | 0 | 319,631 | 0 | 321,194 | 0 | 0 | 0 | 241,682 | 235,389 | 228,971 |
TotalCells | 12,593 | 37,687 | 12,593 | 37,502 | 0 | 0 | 11,344 | 37,207 | 21,981 | 37,060 |
cells_pre_abc | 14,722 | 14,722 | 14,722 | 14,722 | 0 | 0 | 14,722 | 14,722 | 14,722 | 14,722 |
synth_cells | 10,273 | 10,273 | 10,273 | 10,273 | 0 | 0 | 9,024 | 9,024 | 9,024 | 9,024 |
logic_cells | 10,273 | 10,802 | 10,273 | 10,871 | 0 | 0 | 9,024 | 9,627 | 9,559 | 9,550 |
pin_antennas | -1 | 8 | -1 | 3 | 0 | 0 | -1 | 7 | 4 | 2 |
net_antennas | -1 | 8 | -1 | 3 | 0 | 0 | -1 | 7 | 4 | 2 |
spef_wns | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | -2.16 | 0.00 | 0.00 |
spef_tns | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | -117.62 | 0.00 | 0.00 |
Findings:
- Combo 4x2:5 fits and gets 25MHz. Also dips below 60% util.
- Combo 8x2:2 fits and gets 50MHz.
- Overall, this IS a little better: Slightly faster, slightly less area.
- 8x2:4 faster for ~same area: 45.13MHz vs. 44.86MHz.
- 4x2:4 ALMOST fits in 60% util.
- Antennas are a little worse.
Click for details...
Code:
- tt04-raybox-zero:
c452d31
: harden_test: Adding a little more stats data- Equivalent to:
7aae611
: Wire up SPI for fixed pov
- Equivalent to:
- src/raybox-zero:
6330587
: test003: Cull a bunch of states; turn off explicit reset where safe
Summary:
- Merge or otherwise elimninate several wall_tracer states, getting down to no more than 8.
- Disable
`define RESET_TO_KNOWN
.
Options used:
STARTED: 2023-09-01 20:37:31
STOPT: 0
OUTFILE: stats-test003.md
SELECT: :[1245]
FORCE: 0
TAG: test003: Cull a bunch of states; turn off explicit reset where safe
FINISHED: 2023-09-01 21:21:19
4x2:1 | 8x2:1 | 4x2:2 | 8x2:2 | 4x2:3 | 8x2:3 | 4x2:4 | 8x2:4 | 4x2:5 | 8x2:5 | |
---|---|---|---|---|---|---|---|---|---|---|
suggested_mhz | 24.39 | 25.00 | 47.62 | 47.78 | 0.00 | 0.00 | 47.62 | 44.60 | 25.00 | 25.00 |
utilisation_% | 73.18 | 36.32 | 73.18 | 36.32 | 0.00 | 0.00 | 60.75 | 30.15 | 59.91 | 29.73 |
wire_length_um | 0 | 335,305 | 0 | 337,633 | 0 | 0 | 0 | 243,324 | 243,290 | 233,989 |
TotalCells | 12,960 | 37,930 | 12,960 | 37,912 | 0 | 0 | 11,425 | 37,247 | 22,094 | 37,135 |
cells_pre_abc | 14,762 | 14,762 | 14,762 | 14,762 | 0 | 0 | 14,762 | 14,762 | 14,762 | 14,762 |
synth_cells | 10,640 | 10,640 | 10,640 | 10,640 | 0 | 0 | 9,105 | 9,105 | 9,105 | 9,105 |
logic_cells | 10,640 | 11,180 | 10,640 | 11,256 | 0 | 0 | 9,105 | 9,744 | 9,769 | 9,766 |
pin_antennas | -1 | 3 | -1 | 2 | 0 | 0 | -1 | 5 | 3 | 4 |
net_antennas | -1 | 2 | -1 | 2 | 0 | 0 | -1 | 5 | 3 | 4 |
spef_wns | 0.00 | 0.00 | 0.00 | -0.93 | 0.00 | 0.00 | 0.00 | -2.42 | 0.00 | 0.00 |
spef_tns | 0.00 | 0.00 | 0.00 | -45.15 | 0.00 | 0.00 | 0.00 | -129.18 | 0.00 | 0.00 |
Findings:
- Fewer antennas.
- Tiny INCREASE in area and reduction in speed.
- Overall seemingly a tiny bit worse than test002.
Click for details...
Code:
- tt04-raybox-zero:
70f1a6c
: harden_test: Minor update to change parameter order- Equivalent to:
7aae611
: Wire up SPI for fixed pov
- Equivalent to:
- src/raybox-zero:
e60f797
: test004: Use stepDistY directly as rcp_out without reg
Summary:
- stepDistY (like stepDistX) was a register.
- This change assumes it can just be used as rcp_out instead.
Options used:
STARTED: 2023-09-01 21:10:25
STOPT: 0
OUTFILE: stats-test004.md
SELECT: :[1245]
FORCE: 0
TAG: test004: Use stepDistY directly as rcp_out without reg
FINISHED: 2023-09-01 21:54:46
4x2:1 | 8x2:1 | 4x2:2 | 8x2:2 | 4x2:3 | 8x2:3 | 4x2:4 | 8x2:4 | 4x2:5 | 8x2:5 | |
---|---|---|---|---|---|---|---|---|---|---|
suggested_mhz | 24.39 | 25.00 | 47.62 | 39.53 | 0.00 | 0.00 | 47.62 | 36.82 | 25.00 | 25.00 |
utilisation_% | 74.20 | 36.82 | 74.20 | 36.82 | 0.00 | 0.00 | 60.48 | 30.01 | 60.14 | 29.84 |
wire_length_um | 0 | 334,942 | 0 | 336,541 | 0 | 0 | 0 | 254,461 | 246,857 | 246,077 |
TotalCells | 13,215 | 38,070 | 13,215 | 38,092 | 0 | 0 | 11,294 | 36,849 | 21,653 | 36,681 |
cells_pre_abc | 14,896 | 14,896 | 14,896 | 14,896 | 0 | 0 | 14,896 | 14,896 | 14,896 | 14,896 |
synth_cells | 10,895 | 10,895 | 10,895 | 10,895 | 0 | 0 | 8,974 | 8,974 | 8,974 | 8,974 |
logic_cells | 10,895 | 11,502 | 10,895 | 11,544 | 0 | 0 | 8,974 | 9,631 | 9,675 | 9,658 |
pin_antennas | -1 | 9 | -1 | 7 | 0 | 0 | -1 | 12 | 8 | 3 |
net_antennas | -1 | 8 | -1 | 7 | 0 | 0 | -1 | 12 | 6 | 3 |
spef_wns | 0.00 | 0.00 | 0.00 | -5.30 | 0.00 | 0.00 | 0.00 | -7.16 | 0.00 | 0.00 |
spef_tns | 0.00 | 0.00 | 0.00 | -108.36 | 0.00 | 0.00 | 0.00 | -241.22 | 0.00 | 0.00 |
Findings:
- This is generally worse. Surprising, esp. given synth_cells and logic_cells both reduce.
- Area doesn't really change (though it is a tiny bit worse in most cases).
- Speed is poor, but that might be due to assumptions that STA is making about input data changing into the shared_reciprocal when it actually doesn't?
- Check vdist: it seems to be Q7.9??
- Change visualWallDist reg to something like Q8.12
- Instead of
rayAddendX <= -(vplaneX<<<8)-(vplaneX<<<4)
, require host send us a negated vplane, then start from the positive side and adding vplane will be deducted -- same result? - Make
rcp_in
a register instead of mux. - Any way to replace multipliers with incremental adders?
- WIP test005: Reduce trackInitX/Y to a single shared multiplier, and cap it based on partials being <= 1.0 and both inputs always being positive...? Note also that partials are only used for trackInit, so maybe there's a way to change the maths to a smarter shared module that takes advantage of the ranges of ALL inputs (playerFrac, rxi, stepDist).
- Would shmul be better if it used register inputs instead of mux?
- Loading mapX/Y doesn't need to be restricted to TracePrepX. Can we set "don't care" in Verilog?
- stepDistY probably doesn't need to be a reg: given it is the 2nd reciprocal and its value gets used immediately to make trackInitY, and then continuously in TraceStep, it could probably just be replaced with rcp_out.
- Multipliers could be allowed to lose precision with bigger numbers? e.g. very far view distance doesn't need precision for texture column selection (or even scaling).
- Run harden_test.sh in GHA
- Split reicprocal into multiple stages (states) to avoid excessive multiplies and combo chains. Even consider using a conventional accurate reciprocal?
- Try using "smart LZC".
- Overnight harden_test got stuck on an 8x2:3 again. See log below. I re-ran it all except combo 3s:
time ./harden_test.sh :[1245]
- History improvements inc. timestamps and live updating
Click to show log...
OpenROAD 7f00621cb612fd94e15b35790afe744c89d433a7
This program is licensed under the BSD-3 license. See the LICENSE file for details.
Components of this program may be licensed under more restrictive licenses which must be honored.
[INFO ORD-0030] Using 14 thread(s).
[INFO DRT-0149] Reading tech and libs.
Units: 1000
Number of layers: 13
Number of macros: 441
Number of vias: 25
Number of viarulegen: 25
[INFO DRT-0150] Reading design.
Design: tt_um_algofoogle_raybox_zero
Die area: ( 0 0 ) ( 1359760 225760 )
Number of track patterns: 12
Number of DEF vias: 3
Number of components: 40876
Number of terminals: 45
Number of snets: 2
Number of nets: 9392
[INFO DRT-0167] List of default vias:
Layer mcon
default via: L1M1_PR
Layer via
default via: M1M2_PR
Layer via2
default via: M2M3_PR
Layer via3
default via: M3M4_PR
Layer via4
default via: M4M5_PR
[INFO DRT-0162] Library cell analysis.
[INFO DRT-0163] Instance analysis.
Complete 10000 instances.
Complete 20000 instances.
Complete 30000 instances.
Complete 40000 instances.
[INFO DRT-0164] Number of unique instances = 396.
[INFO DRT-0168] Init region query.
[INFO DRT-0018] Complete 10000 insts.
[INFO DRT-0018] Complete 20000 insts.
[INFO DRT-0018] Complete 30000 insts.
[INFO DRT-0018] Complete 40000 insts.
[INFO DRT-0024] Complete FR_MASTERSLICE.
[INFO DRT-0024] Complete Fr_VIA.
[INFO DRT-0024] Complete li1.
[INFO DRT-0024] Complete mcon.
[INFO DRT-0024] Complete met1.
[INFO DRT-0024] Complete via.
[INFO DRT-0024] Complete met2.
[INFO DRT-0024] Complete via2.
[INFO DRT-0024] Complete met3.
[INFO DRT-0024] Complete via3.
[INFO DRT-0024] Complete met4.
[INFO DRT-0024] Complete via4.
[INFO DRT-0024] Complete met5.
[INFO DRT-0033] FR_MASTERSLICE shape region query size = 0.
[INFO DRT-0033] FR_VIA shape region query size = 0.
[INFO DRT-0033] li1 shape region query size = 441777.
[INFO DRT-0033] mcon shape region query size = 471076.
[INFO DRT-0033] met1 shape region query size = 97891.
[INFO DRT-0033] via shape region query size = 3690.
[INFO DRT-0033] met2 shape region query size = 2214.
[INFO DRT-0033] via2 shape region query size = 2952.
[INFO DRT-0033] met3 shape region query size = 2214.
[INFO DRT-0033] via3 shape region query size = 2952.
[INFO DRT-0033] met4 shape region query size = 817.
[INFO DRT-0033] via4 shape region query size = 0.
[INFO DRT-0033] met5 shape region query size = 0.
[INFO DRT-0165] Start pin access.
[INFO DRT-0076] Complete 100 pins.
[INFO DRT-0076] Complete 200 pins.
[INFO DRT-0076] Complete 300 pins.
[INFO DRT-0076] Complete 400 pins.
[INFO DRT-0076] Complete 500 pins.
[INFO DRT-0076] Complete 600 pins.
[INFO DRT-0076] Complete 700 pins.
[INFO DRT-0076] Complete 800 pins.
[INFO DRT-0076] Complete 900 pins.
[INFO DRT-0077] Complete 1000 pins.
[INFO DRT-0078] Complete 1581 pins.
[INFO DRT-0079] Complete 100 unique inst patterns.
[INFO DRT-0079] Complete 200 unique inst patterns.
[INFO DRT-0079] Complete 300 unique inst patterns.
[INFO DRT-0081] Complete 378 unique inst patterns.
[INFO DRT-0082] Complete 1000 groups.
[INFO DRT-0082] Complete 2000 groups.
[INFO DRT-0082] Complete 3000 groups.
[INFO DRT-0082] Complete 4000 groups.
[INFO DRT-0082] Complete 5000 groups.
[INFO DRT-0082] Complete 6000 groups.
[INFO DRT-0082] Complete 7000 groups.
[INFO DRT-0082] Complete 8000 groups.
[INFO DRT-0082] Complete 9000 groups.
[INFO DRT-0083] Complete 10000 groups.
[INFO DRT-0084] Complete 11223 groups.
#scanned instances = 40876
#unique instances = 396
#stdCellGenAp = 11898
#stdCellValidPlanarAp = 124
#stdCellValidViaAp = 9018
#stdCellPinNoAp = 0
#stdCellPinCnt = 31773
#instTermValidViaApCnt = 0
#macroGenAp = 0
#macroValidPlanarAp = 0
#macroValidViaAp = 0
#macroNoAp = 0
[INFO DRT-0166] Complete pin access.
[INFO DRT-0267] cpu time = 00:01:04, elapsed time = 00:00:04, memory = 290.02 (MB), peak = 291.34 (MB)
[INFO DRT-0156] guideIn read 100000 guides.
Number of guides: 139297
[INFO DRT-0169] Post process guides.
[INFO DRT-0176] GCELLGRID X 0 DO 197 STEP 6900 ;
[INFO DRT-0177] GCELLGRID Y 0 DO 32 STEP 6900 ;
[INFO DRT-0026] Complete 10000 origin guides.
[INFO DRT-0026] Complete 20000 origin guides.
[INFO DRT-0026] Complete 30000 origin guides.
[INFO DRT-0026] Complete 40000 origin guides.
[INFO DRT-0026] Complete 50000 origin guides.
[INFO DRT-0026] Complete 60000 origin guides.
[INFO DRT-0026] Complete 70000 origin guides.
[INFO DRT-0026] Complete 80000 origin guides.
[INFO DRT-0026] Complete 90000 origin guides.
[INFO DRT-0027] Complete 100000 origin guides.
[INFO DRT-0028] Complete FR_MASTERSLICE.
[INFO DRT-0028] Complete Fr_VIA.
[INFO DRT-0028] Complete li1.
[INFO DRT-0028] Complete mcon.
[INFO DRT-0028] Complete met1.
[INFO DRT-0028] Complete via.
[INFO DRT-0028] Complete met2.
[INFO DRT-0028] Complete via2.
[INFO DRT-0028] Complete met3.
[INFO DRT-0028] Complete via3.
[INFO DRT-0028] Complete met4.
[INFO DRT-0028] Complete via4.
[INFO DRT-0028] Complete met5.
[WARNING DRT-0225] _00313_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _00609_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _00610_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _00614_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _00615_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _00636_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _00637_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _00638_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _00730_ 6 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _00826_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _00962_ 8 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01158_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01180_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01296_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01299_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01417_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01448_ 3 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01511_ 6 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01532_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01535_ 3 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01597_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01705_ 6 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01707_ 4 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01714_ 9 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01734_ 4 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01747_ 3 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01749_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01788_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01820_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01884_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _01982_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02053_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02111_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02112_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02114_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02200_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02433_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02495_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02500_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02558_ 3 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02588_ 7 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02607_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _02705_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03213_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03356_ 11 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03371_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03398_ 6 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03418_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03438_ 8 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03441_ 4 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03443_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03446_ 3 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03449_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03453_ 3 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03463_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03502_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03757_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03778_ 12 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03887_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _03891_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _04018_ 3 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _04028_ 11 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _04173_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _04202_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _04203_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _04307_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _04381_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _04407_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _04737_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _05569_ 10 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _05650_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06018_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06043_ 3 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06090_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06129_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06165_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06174_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06289_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06300_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06362_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06482_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06489_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06542_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06654_ 8 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _06763_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _07036_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _07299_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _07509_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _07718_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _07980_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _08039_ 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _08207_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _08221_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _08324_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _08371_ 3 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] _08527_ 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.facingX\[5\] 4 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.facingX\[7\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.facingY\[1\] 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.facingY\[2\] 3 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.hpos\[7\] 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.map_rom.i_col\[1\] 4 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.map_rom.i_col\[2\] 6 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.map_rom.i_row\[0\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.playerX\[3\] 18 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.playerY\[-1\] 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.ready_buffer\[131\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.ready_buffer\[30\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.ready_buffer\[82\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.spi_buffer\[122\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.spi_buffer\[12\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.spi_buffer\[36\] 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.spi_buffer\[93\] 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.spi_counter\[1\] 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.spi_counter\[2\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.vplaneX\[-4\] 6 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.vplaneX\[-8\] 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.vplaneX\[2\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.vplaneX\[6\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.vplaneY\[-5\] 4 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.vplaneY\[-7\] 20 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.vplaneY\[-9\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.pov.vplaneY\[2\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.rayAddendX\[-7\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.rayAddendY\[9\] 5 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.rcp_sel\[0\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.rcp_sel\[2\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.stepDistX\[-12\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.stepDistX\[1\] 4 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.stepDistX\[3\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.stepDistY\[-11\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.stepDistY\[6\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.trackDistX\[4\] 2 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.trackDistY\[-6\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] rbzero.wall_tracer.trackDistY\[10\] 1 pin not visited, fall back to feedthrough mode.
[WARNING DRT-0225] clknet_leaf_42_clk 1 pin not visited, fall back to feedthrough mode.
[INFO DRT-0178] Init guide query.
[INFO DRT-0035] Complete FR_MASTERSLICE (guide).
[INFO DRT-0035] Complete Fr_VIA (guide).
[INFO DRT-0035] Complete li1 (guide).
[INFO DRT-0035] Complete mcon (guide).
[INFO DRT-0035] Complete met1 (guide).
[INFO DRT-0035] Complete via (guide).
[INFO DRT-0035] Complete met2 (guide).
[INFO DRT-0035] Complete via2 (guide).
[INFO DRT-0035] Complete met3 (guide).
[INFO DRT-0035] Complete via3 (guide).
[INFO DRT-0035] Complete met4 (guide).
[INFO DRT-0035] Complete via4 (guide).
[INFO DRT-0035] Complete met5 (guide).
[INFO DRT-0036] FR_MASTERSLICE guide region query size = 0.
[INFO DRT-0036] FR_VIA guide region query size = 0.
[INFO DRT-0036] li1 guide region query size = 35411.
[INFO DRT-0036] mcon guide region query size = 0.
[INFO DRT-0036] met1 guide region query size = 42751.
[INFO DRT-0036] via guide region query size = 0.
[INFO DRT-0036] met2 guide region query size = 31601.
[INFO DRT-0036] via2 guide region query size = 0.
[INFO DRT-0036] met3 guide region query size = 14049.
[INFO DRT-0036] via3 guide region query size = 0.
[INFO DRT-0036] met4 guide region query size = 4637.
[INFO DRT-0036] via4 guide region query size = 0.
[INFO DRT-0036] met5 guide region query size = 0.
[INFO DRT-0179] Init gr pin query.
[INFO DRT-0245] skipped writing guide updates to database.
[INFO DRT-0185] Post process initialize RPin region query.
[INFO DRT-0181] Start track assignment.
[INFO DRT-0184] Done with 71649 vertical wires in 4 frboxes and 56800 horizontal wires in 1 frboxes.
[INFO DRT-0186] Done with 27568 vertical wires in 4 frboxes and 47093 horizontal wires in 1 frboxes.
[INFO DRT-0182] Complete track assignment.
[INFO DRT-0267] cpu time = 00:00:17, elapsed time = 00:00:12, memory = 545.98 (MB), peak = 573.70 (MB)
[INFO DRT-0187] Start routing data preparation.
[INFO DRT-0267] cpu time = 00:00:00, elapsed time = 00:00:00, memory = 546.08 (MB), peak = 573.70 (MB)
[INFO DRT-0194] Start detail routing.
[INFO DRT-0195] Start 0th optimization iteration.
Completing 10% with 0 violations.
elapsed time = 00:00:29, memory = 1309.75 (MB).
Completing 20% with 0 violations.
elapsed time = 00:01:06, memory = 1654.36 (MB).
Completing 30% with 0 violations.
elapsed time = 00:01:31, memory = 1704.48 (MB).
Completing 40% with 135151 violations.
elapsed time = 00:02:29, memory = 1801.42 (MB).
Completing 50% with 135151 violations.
elapsed time = 00:03:26, memory = 1849.26 (MB).
Completing 60% with 274331 violations.
elapsed time = 00:04:08, memory = 1932.36 (MB).
Completing 70% with 274331 violations.
elapsed time = 00:05:02, memory = 2001.96 (MB).
Completing 80% with 274331 violations.
elapsed time = 00:05:29, memory = 2046.32 (MB).
Completing 90% with 416072 violations.
elapsed time = 00:07:15, memory = 2263.59 (MB).
Completing 100% with 561822 violations.
elapsed time = 00:07:54, memory = 2253.82 (MB).
[INFO DRT-0199] Number of violations = 573607.
Viol/Layer li1 mcon met1 via met2 via2 met3 via3 met4
Cut Spacing 0 144 0 17 0 133 0 2 0
Metal Spacing 1348 0 14480 0 12082 0 2831 0 608
Min Hole 0 0 5 0 0 0 0 0 0
NS Metal 1 0 0 0 0 0 0 0 0
Recheck 8705 0 1225 0 838 0 733 0 284
Short 1967 2219 277755 1074 191647 238 38051 94 17126
[INFO DRT-0267] cpu time = 01:33:32, elapsed time = 00:07:55, memory = 2489.65 (MB), peak = 2489.65 (MB)
Total wire length = 2099058 um.
Total wire length on LAYER li1 = 0 um.
Total wire length on LAYER met1 = 791007 um.
Total wire length on LAYER met2 = 633815 um.
Total wire length on LAYER met3 = 427002 um.
Total wire length on LAYER met4 = 247231 um.
Total wire length on LAYER met5 = 0 um.
Total number of vias = 129408.
Up-via summary (total 129408):.
-------------------------
FR_MASTERSLICE 0
li1 33503
met1 61493
met2 22471
met3 11941
met4 0
-------------------------
129408
[INFO DRT-0195] Start 1st optimization iteration.
Completing 10% with 573607 violations.
elapsed time = 00:00:42, memory = 2532.16 (MB).
Completing 20% with 573607 violations.
elapsed time = 00:01:34, memory = 2588.33 (MB).
Completing 30% with 573607 violations.
elapsed time = 00:02:17, memory = 2599.59 (MB).
Completing 40% with 618354 violations.
elapsed time = 00:03:27, memory = 2600.61 (MB).
Completing 50% with 618354 violations.
elapsed time = 00:04:29, memory = 2601.56 (MB).
Completing 60% with 665801 violations.
elapsed time = 00:05:12, memory = 2592.60 (MB).
Completing 70% with 665801 violations.
elapsed time = 00:06:17, memory = 2622.57 (MB).
Completing 80% with 665801 violations.
elapsed time = 00:07:07, memory = 2673.67 (MB).
Completing 90% with 711001 violations.
elapsed time = 00:09:02, memory = 2615.34 (MB).
Completing 100% with 759894 violations.
elapsed time = 00:09:47, memory = 2622.95 (MB).
[INFO DRT-0199] Number of violations = 766538.
Viol/Layer mcon met1 via met2 via2 met3 via3 met4
Cut Spacing 134 0 24 0 90 0 4 0
Metal Spacing 0 25268 0 30804 0 10467 0 580
Min Hole 0 7 0 2 0 0 0 0
NS Metal 0 1 0 0 0 0 0 0
Recheck 0 3 0 1 0 6203 0 437
Short 0 345311 428 257913 158 61999 68 26636
[INFO DRT-0267] cpu time = 01:55:07, elapsed time = 00:09:48, memory = 2746.07 (MB), peak = 2746.07 (MB)
Total wire length = 2126530 um.
Total wire length on LAYER li1 = 0 um.
Total wire length on LAYER met1 = 768697 um.
Total wire length on LAYER met2 = 653082 um.
Total wire length on LAYER met3 = 436967 um.
Total wire length on LAYER met4 = 267782 um.
Total wire length on LAYER met5 = 0 um.
Total number of vias = 124921.
Up-via summary (total 124921):.
-------------------------
FR_MASTERSLICE 0
li1 33496
met1 56159
met2 22941
met3 12325
met4 0
-------------------------
124921
[INFO DRT-0195] Start 2nd optimization iteration.
Completing 10% with 766538 violations.
elapsed time = 00:00:47, memory = 2746.33 (MB).
Completing 20% with 766538 violations.
elapsed time = 00:02:02, memory = 2764.11 (MB).
Completing 30% with 771751 violations.
elapsed time = 00:02:40, memory = 2750.03 (MB).
Completing 40% with 771751 violations.
elapsed time = 00:03:45, memory = 2750.74 (MB).
Completing 50% with 771751 violations.
elapsed time = 00:04:48, memory = 2760.80 (MB).
Completing 60% with 780616 violations.
elapsed time = 00:05:37, memory = 2760.27 (MB).
Completing 70% with 780616 violations.
elapsed time = 00:07:20, memory = 2790.44 (MB).
Completing 80% with 782127 violations.
elapsed time = 00:08:17, memory = 2742.26 (MB).
Completing 90% with 782127 violations.
elapsed time = 00:09:45, memory = 2749.73 (MB).
Completing 100% with 783379 violations.
elapsed time = 00:10:45, memory = 2758.26 (MB).
[INFO DRT-0199] Number of violations = 791651.
Viol/Layer mcon met1 via met2 via2 met3 via3 met4
Cut Spacing 144 0 31 0 74 0 3 0
Metal Spacing 0 23342 0 35426 0 13057 0 544
Min Hole 0 5 0 2 0 0 0 0
Recheck 0 424 0 0 0 4921 0 2927
Short 0 344501 359 267006 129 67410 79 31267
[INFO DRT-0267] cpu time = 02:06:29, elapsed time = 00:10:46, memory = 2807.44 (MB), peak = 2807.44 (MB)
Total wire length = 2130334 um.
Total wire length on LAYER li1 = 0 um.
Total wire length on LAYER met1 = 762719 um.
Total wire length on LAYER met2 = 654350 um.
Total wire length on LAYER met3 = 437173 um.
Total wire length on LAYER met4 = 276090 um.
Total wire length on LAYER met5 = 0 um.
Total number of vias = 125306.
Up-via summary (total 125306):.
-------------------------
FR_MASTERSLICE 0
li1 33496
met1 56401
met2 23156
met3 12253
met4 0
-------------------------
125306
[INFO DRT-0195] Start 3rd optimization iteration.
Completing 10% with 791651 violations.
elapsed time = 00:04:53, memory = 2836.80 (MB).
Completing 20% with 791651 violations.
elapsed time = 00:10:46, memory = 2950.73 (MB).
Completing 30% with 791651 violations.
elapsed time = 00:14:48, memory = 3011.32 (MB).
Completing 40% with 791549 violations.
elapsed time = 00:25:35, memory = 2915.00 (MB).
Completing 50% with 791549 violations.
elapsed time = 00:31:19, memory = 2915.18 (MB).
Completing 60% with 790991 violations.
elapsed time = 00:36:04, memory = 2904.03 (MB).
Completing 70% with 790991 violations.
elapsed time = 00:43:29, memory = 2934.84 (MB).
Completing 80% with 790991 violations.
elapsed time = 00:47:28, memory = 2999.49 (MB).
Completing 90% with 790910 violations.
elapsed time = 01:00:13, memory = 2970.61 (MB).
Completing 100% with 790910 violations.
elapsed time = 01:05:46, memory = 2952.56 (MB).
[INFO DRT-0199] Number of violations = 790910.
Viol/Layer mcon met1 via met2 via2 met3 via3 met4
Cut Spacing 143 0 31 0 74 0 3 0
Metal Spacing 0 23342 0 35408 0 13060 0 547
Min Hole 0 5 0 2 0 0 0 0
Recheck 0 424 0 0 0 4459 0 2927
Short 0 344290 359 266964 129 67413 79 31251
[INFO DRT-0267] cpu time = 12:59:20, elapsed time = 01:05:48, memory = 2955.39 (MB), peak = 3018.99 (MB)
Total wire length = 2130838 um.
Total wire length on LAYER li1 = 0 um.
Total wire length on LAYER met1 = 762376 um.
Total wire length on LAYER met2 = 654237 um.
Total wire length on LAYER met3 = 437750 um.
Total wire length on LAYER met4 = 276473 um.
Total wire length on LAYER met5 = 0 um.
Total number of vias = 125801.
Up-via summary (total 125801):.
-------------------------
FR_MASTERSLICE 0
li1 33496
met1 56622
met2 23347
met3 12336
met4 0
-------------------------
125801
[INFO DRT-0195] Start 4th optimization iteration.
Completing 10% with 790910 violations.
elapsed time = 00:05:15, memory = 2955.56 (MB).
Completing 20% with 790910 violations.
elapsed time = 00:12:57, memory = 3014.91 (MB).
Completing 30% with 790910 violations.
elapsed time = 00:18:08, memory = 3023.93 (MB).
Completing 40% with 790655 violations.
elapsed time = 00:26:37, memory = 2993.35 (MB).
Completing 50% with 790655 violations.
elapsed time = 00:33:06, memory = 2993.35 (MB).
Completing 60% with 790635 violations.
elapsed time = 00:37:51, memory = 3001.89 (MB).
Completing 70% with 790635 violations.
elapsed time = 00:44:49, memory = 3051.12 (MB).
Completing 80% with 790635 violations.
elapsed time = 00:49:54, memory = 3104.74 (MB).