[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnucap-devel] very large pure linear circuits
From: |
walter steffè |
Subject: |
Re: [Gnucap-devel] very large pure linear circuits |
Date: |
Thu, 20 Oct 2005 10:04:58 +0200 |
User-agent: |
KMail/1.4.3 |
Hi Al Davis
Thanks for your reply.
On Tuesday 18 October 2005 18:56, Al Davis wrote:
>
> 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.
>
yes I have benchmarked it and here is the gnucap output:
/**************************************************************************
Cube Impedence
cube.ckt
time= 0.00
time= 0.20
time= 89.37
Gnucap System status
command -------- last -------- -------- total --------
user sys total user sys total
get 2.53 0.07 2.60 2.53 0.07 2.60
op 0.00 0.00 0.00 0.00 0.00 0.00
dc 0.00 0.00 0.00 0.00 0.00 0.00
tran 0.00 0.00 0.00 0.00 0.00 0.00
fourier 0.00 0.00 0.00 0.00 0.00 0.00
ac 89.26 0.11 89.37 89.26 0.11 89.37
function -------- last -------- -------- total --------
user sys total user sys total
setup 0.01 -0.00 0.01 0.01 -0.00 0.01
order -0.00 -0.00 -0.00 -0.00 -0.00 -0.00
function -------- last -------- -------- total --------
user sys total user sys total
advance 0.00 0.00 0.00 0.00 0.00 0.00
evaluate 0.00 0.00 0.00 0.00 0.00 0.00
load 13.88 0.01 13.89 13.88 0.01 13.89
lu 72.01 0.03 72.04 72.01 0.03 72.04
back 2.28 0.01 2.29 2.28 0.01 2.29
review 0.00 0.00 0.00 0.00 0.00 0.00
accept 0.00 0.00 0.00 0.00 0.00 0.00
output 1.18 0.06 1.24 1.18 0.06 1.24
overhead -0.09 0.00 -0.09 -0.09 0.00 -0.09
aux1 0.00 0.00 0.00 0.00 0.00 0.00
aux2 0.00 0.00 0.00 0.00 0.00 0.00
aux3 0.00 0.00 0.00 0.00 0.00 0.00
total 89.26 0.11 89.37 89.26 0.11 89.37
iterations: op=0, dc=0, tran=0, fourier=0, total=746
transient timesteps: accepted=0, rejected=0, total=0
nodes: user=264, subckt=116, model=0, total=380
devices: diodes=0, bjts=0, mosfets=0, gates=0, subckts=7
commons: diodes=0, bjts=0, mosfets=0, gates=0, subckts=4
models: diodes=0, bjts=0, mosfets=0, gates=0, subckts=4
dctran density=58.1%, ac density=58.1%
************************************************************************/
The reported results are obtained on a pentium xeon 2 GHz and 1GB RAM.
I did not set the options for speed because I were nor aware of them.
In the annexes you will find the input files of this benchmark.
I can confirm that gnucap is a lot faster than (the original) Spice for that
kind of circuit. In fact I had done a Spice benchmark a lot of time ago and
it was much worse then the gnucap results.
As I have told in the present simulatiions the number of nodes (380) is not
large because the they are related to a single subdomain. Nevertheless the
computation time is not small (90s) probably because the ``coupling matrix is
allmost full'' (there are many voltage controlled current generators
connecting the circuital elements). The matrix sparsity will come into play
when I will form the global circuit which will include the subcircuits
associated to many subdomains. Indeed in the global circuit only the
subcircuits related to adjacient subdomain will be coupled.
>
> As it is now, when a circuit is purely linear, gnucap solves the
> big matrix only once.
>
Is it true also for the ac analisys?
It seems to me that the total time is proportional to the number of frequency
points.
> If you are willing to give up some accuracy, a completely
> different method such as a moment-matching method, will give
> you huge speedup.
>
I hope to be able to deal with the exact solvers. A motivaton for this choice
(apart from accuracy) is that I know that the traditional approach allows a
fast computation of the responce sensitivity versus the variation of
circuital parameters and this is of great importance for the circuit
optimization. May be that the same can be achieved also with the
moment-matching method but I not sure of that and I do not know of any open
software that implement this method. On the other side I have to say that my
circuit is already an approximation and that the subdomain related
subcircuits are synthetized starting from the moments sequence associated
with the electromagnetic responce. Therefore it could be that going back to
the moments for the simulation of global circuit is a good way to proceed (if
I can find an available code).
In your reply you have introduced many other points and to me it is not clear
which are the most important to improve my simuations (node ordering,
iterations related to the nonlinearity, memory usage...). May you please help
me to interpret the results and to identify the main bottelnenks. I see that
the most of the time is used by ''lu'' but I think that 72 s for the lu
decomposition of a 380x380 matrix is a long time (if it is done only once).
Best regards
Walter Steffe
cube.ckt
Description: Text document
cube132.ana
Description: Text document