Hello,
From the ** klayout github** repo, I downloaded klayout/testdata/lvs/inv.oas, klayout/testdata/lvs/inv.cir, and klayout/testdata/lvs/inv.lvs
Then I added the following lines to inv.lvs so it would create a log file of execution time and memory usage:
log_file("inv_lvs_log.txt")
verbose(true)
enable profiling
profile
The attached image shows a few representative lines from the log file that was created. My interpretation of the results is that the job required a "baseline" memory of 1359 MB, but line 39 of inv.lvs required an additional 147 MB, increasing the total to 1503 MB. In my version of inv.lvs (because I added lines for logging), line 39 is the boolean operation calculating the intersection of active & nwell. There are other similar boolean operations in inv.lvs, so it puzzles me that only the (active & nwell) intersection calculation would require an additional large block of memory. Can you explain?
(Image)