Spectre Multi-threading doesn't seem to work

Discussion in 'Cadence' started by kanhaiya.m, Apr 22, 2009.

  1. kanhaiya.m

    kanhaiya.m 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
     
    kanhaiya.m, Apr 22, 2009
    #1
  2. kanhaiya.m

    Riad KACED Guest

    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, Apr 22, 2009
    #2
  3. Riad KACED wrote, on 04/22/09 21:32:
    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.
     
    Andrew Beckett, Apr 24, 2009
    #3
  4. kanhaiya.m

    Riad KACED Guest

    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.
     
    Riad KACED, Apr 24, 2009
    #4
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.