On Tuesday 18 October 2005 12:18 pm, walter steffè wrote: > What do you think are the differences which make possible the > high speed of these codes ? Is it something that can be done > to improve the gnucap simulation speed when dealing with very > large but pure linear circuits ? I am not well aware of the > details of the numerical methods used for the simulation of > electrical circuits and so I would appraciate very much any > information you can give me to understand the main factors > which limit the simulation speed and possible warkaround.
Have you benchmarked it as it is? It is a lot faster than Spice for that kind of circuit. The biggest circuit in my test suite is about 35000 nodes. When the options are set for speed, it takes about 15 seconds on a 850 MHz AMD. It scales roughly linearly. "A few hours" is very slow. You can do better. Gnucap is not optimized for memory usage. For the big circuits you describe you need lots of memory. You need enough memory to hold everything without swapping. One way to improve it beyond where it is, without sacrificing accuracy, is to eliminate or turn off the baggage of iteration and the like, that is necessary for nonlinear circuits. Another point, probably significant, is to improve the ordering of the nodes. It is pretty much brute force now. Markowitz often makes it worse. A bunch of years ago, I came up with a method "block depth first search with heuristic continuation" that seems to be better. It can also be improved by optimizing duplicate parts of the circuit. Gnucap does a little of this now, but not as much as it could. As it is now, when a circuit is purely linear, gnucap solves the big matrix only once. When there are nonlinear elements it makes incremental updates and partial solutions. This adds a little bit of overhead, but nothing compared to Spice. If you are willing to give up some accuracy, a completely different method such as a moment-matching method, will give you huge speedup. Above all, you don't want Spice or any Spice derivative. Gnucap is not a Spice derivative. _______________________________________________ Gnucap-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnucap-devel
