Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Vtop__ALLcls.cpp and other combined files negates parallel compilation capabilities #1295
Author Name: Rob Stoddard
I have been working on trying to get builds of simulations using Verilator to be higher performance, both in the build and in the simulation. I noticed that my simulator build would hang for a long time on one compilation process. The one compilation process was taking in excess of 1GB of ram. When I looked at the file being compiled Vtop__ALLcls.cpp, I discovered a whole list of #include statements that were including .cpp files... in fact, most of the .cpp files in the project!
It would be much better for these .cpp files to be compiled separately if at all possible. For example, in my build environment, I have 4 server machines each with 8 cores. I could use distcc to be able to farm out 32 jobs at a time, but instead, the build sits on one core.