Spectre Multi-threading doesn't seem to work

Guest
Hi,

I tried using multi-threading option (both command line and by
using
ADE) in Spectre using 4 processors but it seems to use only 130%
of
CPU resources instead of 400%. My netlist has following no. of
components shown below. I'm using Cadence 5.1.41 version. Please
suggest what to do. Thanks.

nodes 5430
equations 15288
ahdl simulator 1
bsim4 4667
capacitor 1211
cccs 16
dgncap.dgmosvarcap 114
diode 162
inductor 386
isource 3
ncap.mosvarcap 86
pvccs 48
pvcvs 38
resistor 3035
vcvs 3
vsource 33
 
Hi,

If Spectre reports 130% of CPU usage, i.e > 100%, then the multi
threading did work.
Expecting a 400% CPU usage is bit too much asking I would say ...
Well, on the other hand, I do agree that 130% out of 4 CPUs is a very
poor yield indeed. This is a proof that Spectre did not parallelize a
great deal of your simulation job.
In your case, Spectre would apply multithreading on the equation
resolution of the 4667 BSIM4 devices. All the other passives are not
paralleled. Needless to remind you that Spectre does support only
BSIM3/BSIM4 for multi threading.
So looking at your circuit inventory, it looks like half of your
design can't be paralleled and that might explain you results.
I have studied Spectre multithreading in a past experience, using a 4
Intel Xeon 3Gig CPUed RHEL4 Linux box. I perfectly remember having had
a 300% on BSIM4/BSIM3 dominated designs and around 170% for parasitic
dominated designs.
Personally, 130% looks very low for me. Besides, it's the first time
I'm seeing a design with such a huge number of inductors.

In summary, all what can't be paralleled by Spectre, would lead into
lower CPU activity since 3/4 CPUs would be waiting ...

400% is IMPOSSIBLE though, just because multi-threading itself
introduces some overhead calculation and some extra time is needed to
recombine forked data, memory mapping ... etc.

Hope this help !

Regards,
Riad.
 
Riad KACED wrote, on 04/22/09 21:32:
Hi,

If Spectre reports 130% of CPU usage, i.e > 100%, then the multi
threading did work.
Expecting a 400% CPU usage is bit too much asking I would say ...
Well, on the other hand, I do agree that 130% out of 4 CPUs is a very
poor yield indeed. This is a proof that Spectre did not parallelize a
great deal of your simulation job.
In your case, Spectre would apply multithreading on the equation
resolution of the 4667 BSIM4 devices. All the other passives are not
paralleled. Needless to remind you that Spectre does support only
BSIM3/BSIM4 for multi threading.
So looking at your circuit inventory, it looks like half of your
design can't be paralleled and that might explain you results.
I have studied Spectre multithreading in a past experience, using a 4
Intel Xeon 3Gig CPUed RHEL4 Linux box. I perfectly remember having had
a 300% on BSIM4/BSIM3 dominated designs and around 170% for parasitic
dominated designs.
Personally, 130% looks very low for me. Besides, it's the first time
I'm seeing a design with such a huge number of inductors.

In summary, all what can't be paralleled by Spectre, would lead into
lower CPU activity since 3/4 CPUs would be waiting ...

400% is IMPOSSIBLE though, just because multi-threading itself
introduces some overhead calculation and some extra time is needed to
recombine forked data, memory mapping ... etc.

Hope this help !

Regards,
Riad.
And also you didn't say whether this is just plain multi-threading, or spectre
turbo (more is done with spectre turbo). Even more is parallelized if you use
"APS" (Advanced Parallel Simulator) which will do the matrix solve across
multiple threads too (spectre and spectre turbo have a single-threaded matrix
solve).

You may be using an old version of spectre too (couldn't see from the log file,
although there was one clue to me that showed me you're not using MMSIM70 or
MMSIM71 ;-> ), and there have been improvements in more recent versions.

Regards,

Andrew.
 
Hi Andrew,

Assuming the clue in question is the number of equations still showing
in the circuit inventory ...
I was a bit disappointed it was removed in MMSIM7 ... :-(
I used to benchmark some other simulators and it was useful for me to
know about the equations info.
It's not harmful though.

Cheers,
Riad.
 

Welcome to EDABoard.com

Sponsor

Back
Top