gbr rip web page logo

Supporting Gerber Files > 2 GB

April 24, 2018

As printed circuit board panels have increased in density, we have started to run across Gerber files (274X) that are larger than 2 GBytes. While we believe that such files are so large because they are poorly constructed, our users still have to contend with them.

Therefore we updated GBR_RIP (64 bit version) v7.40 and onward to support such files.

 

The limitation was not due to the ability to address memory but rather associated with certain offset computations done on the input file. These offset computations were done using 32 bit integers which prevented the program from "reaching" data beyond the 2 GB point.

This ability is only available on our 64 bit version of gbr_rip.

Comparing GBR_RIP 7.36 and 7.40

We made some additional optimizations in the flow when we added support for large input files. The table below compares the performance of v7.36 (the most recent prior to the change) with v7.40 which supports > 2GB input files.

We start with a file of 2.281 GB in sie. This Gerber file covered an area of 560 x 630 mm2. It had 1660 internal layers. We produced a raster file using a 2 um (12,700 DPI) pixel. The uncompressed bitmap generated was 11.1 GByte and after packbits compression the file was 1.59 GB.

GBR_RIP
Version
Threads
 
Raster Buffer
(MB)
Setup
(secs)
RIP
(secs)
Total
(secs)
Remarks
 
v7.36 (64)2512------Fail after 11 minutes.
v7.40 (64)2512256115372 
v7.40 (64)11024255126383 
v7.40 (64)2102425597353 
v7.40 (64)4102425488343 

Notes

Version 7.36 cannot support a file that is greater than 2GB.

For v7.40 the set up time (this is time required to condition and load the input data in preparation for rasterizing) dominates over raster time; even when only a single thread is assigned to raster computations.



In order to measure the optimizations made in v7.40, we trimmed the input Gerber file to the maximum size that v7.36 could handle. This turned out to be 2.147 GB. This also changed the area covered to 500 x 570 mm2 and reduced the internal layers to 1228. The resulting raster image (at 12,700 DPI) was 8.95 GB which compressed down to 1.48 GB using packbits compression.

GBR_RIP
Version
Threads
 
Raster Buffer
(MB)
Setup
(secs)
RIP
(secs)
Total
(secs)
Remarks
 
v7.36 (64)251231599415Does not have large file optimization
v7.40 (64)251224199342 
v7.40 (64)11024241111353 
v7.40 (64)2102424185327 
v7.40 (64)4102424074315 

Notes

v7.36 requires 415 seconds to process this file.

v7.40 shows significant evidence of improvement in the setup area where the optimizations were made.