• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Questions about Multithreading in Ocean/Spectre

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 125
  • Views 3248
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Questions about Multithreading in Ocean/Spectre

FreudH
FreudH over 5 years ago

Hi,

I'm used to run Ocean scripts in Linux Command Line. and I am trying to use multithreading in Spectre/Ocean these days.

I found the code following in a history topic and add it in my Ocean script,

        option(
            ?categ 'turboOpts
            'numThreads "4"
            'mtOption "Manual"
            'uniMode "APS"
        )
 

The simulation speed(transient) seems to be much faster, but the result is not i expected, compared to the original result, even some signals just disappeared. And the elapsed time seems to be wrong, because the elapsed time for netlist with different complexity are nearly the same (about 8 seconds).

I also noticed the output log says "Multithreading is disabled due to the size of the design being too small", so I think this should be totally same to the simulation which doesnt add the options above. but it was not.

I checked the generated input.scs files, no difference between multithreading and non-multithreading cases

Then I checked the runSimulation files in this two cases:

    spectre  input.scs  +escchars +log ../result1/psf/spectre.out  -format psfxl -raw ../result1/psf   +aps +mt=4 +lqtimeout 900 -maxw 5 -maxn 5

    spectre  input.scs +escchars +log ../result1/psf/spectre.out +inter=mpsc +mpssession=spectre0_30362_26  -format psfxl -raw ../result1/psf  +lqtimeout 900 -maxw 5 -maxn 5  

It seems that "+aps +mt=4 " affected the simulation, It worked well when I deleted this two opitons.

I also found replies in previous topic such as "Using APS rather than turning on the multithreading in spectre", so did I use APS in the wrong way? 

Spectre version: 15.1.0.284

Ocean version: 6.1.7-64b

Thanks in advance,

Freud

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    Hi Freud,

    It would be better if you can contact customer support. To be honest, such a short simulation may not show much improvement - it's possible that some of the steps may be limited by the reading of the netlist and models, checking out licenses and so on - and the core simulation is such a small part that it makes very little difference.

    The OCEAN settings you've chosen have been correctly set up - the +aps +mt=4 is telling it to run in APS mode with four threads, but as the design size is too small (check the circuit inventory section of the log file - you're going to need at least 1000 devices or so to support multi-threading with four threads), the multi-threading is disabled as otherwise it can actually get in the way of the simulation for small circuits. It is possible with APS that some simulation nodes are eliminated from the design (it combines parallel identical devices, removes zero-volt sources, removes dangling resistors and a few other optimisations) which can mean that signals are no longer present (normally if you explicitly save those signals, they get preserved though). Without seeing the case though, it's very hard to know precisely what's gone on in your circuit.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    Hi Freud,

    It would be better if you can contact customer support. To be honest, such a short simulation may not show much improvement - it's possible that some of the steps may be limited by the reading of the netlist and models, checking out licenses and so on - and the core simulation is such a small part that it makes very little difference.

    The OCEAN settings you've chosen have been correctly set up - the +aps +mt=4 is telling it to run in APS mode with four threads, but as the design size is too small (check the circuit inventory section of the log file - you're going to need at least 1000 devices or so to support multi-threading with four threads), the multi-threading is disabled as otherwise it can actually get in the way of the simulation for small circuits. It is possible with APS that some simulation nodes are eliminated from the design (it combines parallel identical devices, removes zero-volt sources, removes dangling resistors and a few other optimisations) which can mean that signals are no longer present (normally if you explicitly save those signals, they get preserved though). Without seeing the case though, it's very hard to know precisely what's gone on in your circuit.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • FreudH
    FreudH over 5 years ago in reply to Andrew Beckett

    Andrew,

    Thank you for your kind reply.

    Actually I have done some simulation on largger circuit( containing over 16,000 device), it would takes several hours for transient analysis normally, but when I set multithreading(mt=4), it just takes about 10 seconds for 50% transient simulation, and then the simulation terminated due to convergence difficulties.

    I realized from your reply that there may be something wrong when the simulator reads the netlist and model, because main devices in my design are based on a self-defined model.

    I'll contact customer support when I have collect more information, Thank you again.

    Freud

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information