web page logo


Measuring Polygon Extraction Rates

Since the polygon density of our test files is much lower than the targeted 2000 polys/um2 we decided to measure extracted polygons per second. This will allow a user to estimate the speed for his file based on the density of his layout file and the size of the extraction window.

Test Conditions

  1. We used our i7-3930K @3.2GHz workstation with 32 GB RAM
  2. All data was loaded to memory so there is no disk I/O
  3. We defined a 2500 um x 2500 um region on each of our chips P8 and P9.
  4. On file P8 (8.9GB) we used Layers:40,43,46,47,49
  5. On file P9 (20.9 GB) we used Layers:25,43,46,47,49
  6. We used NextGen RIP but modified it to not write out any bitmaps
  7. We varied the window size and number of windows but covered the same total area and extracted the same number of polygons on each test.
  8. The rasterizer module was run but the amount of time contributed is negligible - so the timings represent the time needed to extract the polygons.
  9. Polygon explosion is single threaded.

  10. P8.GDS

    Window Size
    (um)
    Number of
    Windows
    Polygon Extraction
    plus RIP
    (secs)
    Explosion Rate
    (M Polys/sec)
    Explosion Rate
    (M Vertices/sec)
    100 x 100 625 120 1.080 5.9
    31.25 x 31.25 6,400 129 1.040 5.68
    10 x 10 62,500 177 0.802 4.45

    Notes

    1. In GDSII there are 5 vertices per rectangle (the first/last vertex is counted twice.) The table numbers indicate that the data is 90% rectangles.

    2. Even though all three cases cover the same total area the higher window count runs slower - likely due to some overhead in processing the window information.


    P9.GDS

    Window Size
    (um)
    Number of
    Windows
    Polygon Extraction
    plus RIP
    (secs)
    Explosion Rate
    (M Polys/sec)
    Explosion Rate
    (M Vertices/sec)
    100 x 100 625 207 1.000 5.42
    31.25 x 31.25 6,400 220 0.995 5.41
    10 x 10 62,500 275 0.825 4.5


    Conclusion

    Even though these files differed in size (and in polygon density) the polygon extraction rate seems to be constant at about one million polygons per second assuming there are a lot of polygons per window.

    To extrapolate performance to larger and denser files, one will have to sample the polygon density of the layer or layers of interest; using the window size and number of windows you should be able to estimate the polygon extraction time. Artwork has written its own utility for measuring polygon density on a GDSII or OASIS file.

    This assumes that all the layout entity data fits into memory.

    We also believe that making the exploder multi-threaded will scale throughput linearly with the number of processors since there are not memory write collisions. Therefore once we implement the multi-threaded polygon exploder, a workstation with 16 processors should be able to extract polygons almost 16X faster.