gnucap-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnucap-devel] gnucap vs. spice benchmark


From: Al Davis
Subject: [Gnucap-devel] gnucap vs. spice benchmark
Date: Thu, 25 Jul 2002 00:19:40 -0600

I just did some timing, and I think earned some bragging 
rights. 

The circuit is a large linear circuit, mostly RC with lots of 
controlled sources, essentially an op-amp circuit with a simple 
vcvs model of the op-amp.  There is a lot of repetition.  It is 
an expansion of the "eq" circuits in the gnucap test files.  It 
has 36865 nodes, after expansion.  The benchmark is a transient 
analysis.

Spice 3f5 took 363 seconds.

Gnucap took 66.6 seconds with the default settings, which are 
stricter than Spice.

Relaxing the specs ...

eliminating the check iteration (one more just in case), now 
46.4 seconds.  (still stricter than Spice)

from there, relaxing step control, so it does the same number 
of time steps as Spice, now 28.1 seconds.  I believe this is 
the closest to equivalent accuracy to Spice, better than 10x 
faster.

further relaxing the step control, allowing it to completely 
free-run, now 17.5 seconds.  The answers still look good.


Now, going the other way ....

No bypass, no incmode, etc ....  This is essentially Spice 
algorithms, but Gnucap's normal tighter checks, including the 
extra check iteration, now 294 seconds.  Still faster than 
Spice, no optimization, more accurate.

No bypass, no incmode, etc ... with no check iteration, relaxed 
time stepping, now 111 seconds.  This is as close to the Spice 
algorithms, and Spice accuracy checks as I can make it.



The "check iteration" is another pass done for accuracy 
checking after a step has been conditionally accepted.  Spice 
doesn't do this.  Its purpose is to catch false convergence.

Since this circuit is linear, I suppose it could get by without 
any convergence checking, possibly saving one more iteration. 


Just figured I would pass that on.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]