x86 for Cadence... Dual-core or quad-core?

Discussion in 'Cadence' started by spectrallypure, Aug 30, 2008.

  1. Hi all,

    I need to buy a PC for running (almost exclusively) Cadence
    applications (mostly analog flow, but possibly also mixed-signal
    projects in the near future). Our budget is not enough to get any SUN
    workstation, so an x86 running linux is our only option. The problem
    is that I am unsure about what are the most important features I
    should take into account when choosing the CPU...

    For instance, I was unsure about the relative importance between CPU
    speed vs. number of cores. As an example, what of the following would
    be a better platform for running, say, large Spectre simulations?

    -A 3.16GHz dual core (FSB 1333MHz) with 6MB of cache and 4GB of RAM
    (fast, but just 2 cores)
    -A 2.66GHz quad core (FSB 1333MHz) with 12MB of cache and 4GB of RAM
    (slower, but with 4 cores & more cache)?

    ....I recall someone stating in this forum that "spice simulations are
    as single-threaded as an application can be"... does this mean that
    having more cores won't really improve performance appreciably, at
    least when talking about Spectre simulations?

    What about the requirements for other tasks, like DRC and synthesis?

    Any advice is rather welcome!

    Regards,

    Jorge.
     
    spectrallypure, Aug 30, 2008
    #1
  2. spectrallypure

    Muzaffer Kal Guest

    Actually they have the same amount of cache per cpu which is usually
    what counts. Unless you have really well-parallelized programs (ala
    DRC) I'd go with dual core, faster processor.
    This is no longer true. There are multi-threaded spice simulators from
    all major vendors some with pretty incredible performance increases
    but I am not sure if Cadence is one of them. Spectre is not a tool I
    use that often.
    No. If you have a multi-threaded spice, having multiple cores
    definitely helps.
    Calibre has very powerful support multi-threaded DRC and LVS. I am not
    aware of any multi-threaded synthesis at the moment but routing from
    major vendors are very nicely parallelized (Nanoroute was a very nice
    example earlier and most other vendors caught up by now) and even some
    placers are multi-threaded.

    Kal
     
    Muzaffer Kal, Aug 30, 2008
    #2
  3. spectrallypure

    Riad KACED Guest

    Dear Jorge,

    1. Spectre supports multithreading from release IC-5.0.33 onwards.
    Spectre can break up a large netlist to use a multi processor system.
    Spectre supports multithreading on both Multi Processor Machines
    (boxes with N single CPU chips) and Multiple Core CPUs (N processors
    in a single package, like Dual Cores). The X86 dual core CPUs are the
    more popular nowadays and they are really cheap. I would go for the
    first option which is better in terms of performance and price as
    well. Many PC manufacturors are selling boxes with double sual core
    CPUs which is far cheaper than a single quad CPU box. It would be
    great to take an X86_64 architecture. It won't speed-up your
    simulations but allows you handling bigger files and memory.

    Running spectre on multiple CPUs will of course speed-up your
    simulation time if your design is dominated by BSIM3v3 and BSIM4
    devices. If you are running Spectre on a layout parasitic-extracted
    netlist where the R/C elements are more dominant, then the speed-up is
    less significant. Anyway, I have learned over my experience that:
    1. It is not worth running Spectre on more than 4 CPUs as the speed-up
    curve gets flat afterwards.
    2. The Max speed you can get with Spectre is 2X (I've seen 2.5X on one
    of my designs early this year).

    Almost all the modern EDA software are handling the multithreading
    feature and I do admit that Calibre is one of the best tools,
    multithreading wise, I've seen so far. I have no experience in the
    digital world as well.

    At the end, please bear in mind that spreading a task over CPUs always
    end up by a flat speed-up curve, just because there are certain tasks
    which can't be parallelized. My great friend Frederic Battin says:
    having two wives won't make a baby in 4.5 months ...

    The speed-up curves flatten at 4 CPUs for certain tools and may be up
    to 10 cpus for others. Going beyond that limit is not worth it.
    BTW, I'm pretty much sure you've already heard of the AMDAHL’S LAW.
    There is a nice link otherwise:
    http://en.wikipedia.org/wiki/Amdahl's_law
     
    Riad KACED, Aug 30, 2008
    #3
  4. spectrallypure

    Riad KACED Guest

    Dear Jorge,

    1. Spectre supports multithreading from release IC-5.0.33 onwards.
    Spectre can break up a large netlist to use a multi processor system.
    Spectre supports multithreading on both Multi Processor Machines
    (boxes with N single CPU chips) and Multiple Core CPUs (N processors
    in a single package, like Dual Cores). The X86 dual core CPUs are the
    more popular nowadays and they are really cheap. I would go for the
    first option which is better in terms of performance and price as
    well. Many PC manufacturors are selling boxes with double sual core
    CPUs which is far cheaper than a single quad CPU box. It would be
    great to take an X86_64 architecture. It won't speed-up your
    simulations but allows you handling bigger files and memory.

    Running spectre on multiple CPUs will of course speed-up your
    simulation time if your design is dominated by BSIM3v3 and BSIM4
    devices. If you are running Spectre on a layout parasitic-extracted
    netlist where the R/C elements are more dominant, then the speed-up is
    less significant. Anyway, I have learned over my experience that:
    1. It is not worth running Spectre on more than 4 CPUs as the speed-up
    curve gets flat afterwards.
    2. The Max speed you can get with Spectre is 2X (I've seen 2.5X on one
    of my designs early this year).

    Almost all the modern EDA software are handling the multithreading
    feature and I do admit that Calibre is one of the best tools,
    multithreading wise, I've seen so far. I have no experience in the
    digital world as well.

    At the end, please bear in mind that spreading a task over CPUs always
    end up by a flat speed-up curve, just because there are certain tasks
    which can't be parallelized. My great friend Frederic Battin says:
    having two wives won't make a baby in 4.5 months ...

    The speed-up curves flatten at 4 CPUs for certain tools and may be up
    to 10 cpus for others. Going beyond that limit is not worth it.
    BTW, I'm pretty much sure you've already heard of the AMDAHL’S LAW.
    There is a nice link otherwise:
    http://en.wikipedia.org/wiki/Amdahl's_law
     
    Riad KACED, Aug 30, 2008
    #4
  5. spectrallypure

    Riad KACED Guest

    Hi Jorge,

    I have been asked a question about MMSIM this WE and while reading
    through the Virtuoso Spectre Circuit Simulator Known Problems and
    Solutions, Product Version 7.0.1, I did find an information that might
    interest you. These are the exact words I was reading:
    ;;;
    No support for Quad-Core AMD Processors
    The MMSIM 7.0.1 release does not work with Quad-Core AMD processors.
    Use dual-core AMD or Intel Quad-Core processors, instead.
    ;;;
    It's worth asking your Cadence Support for more details about the
    support of Quad-Core AMD/INTEL CPUs.

    Cheers,
    Riad.
     
    Riad KACED, Aug 31, 2008
    #5
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.