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

S

spectrallypure

Guest
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.
 
On Fri, 29 Aug 2008 17:46:38 -0700 (PDT), spectrallypure
<jorgelagos@gmail.com> wrote:

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)?
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.

...I recall someone stating in this forum that "spice simulations are
as single-threaded as an application can be"...
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.

does this mean that
having more cores won't really improve performance appreciably, at
least when talking about Spectre simulations?

No. If you have a multi-threaded spice, having multiple cores
definitely helps.

What about the requirements for other tasks, like DRC and synthesis?
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
 
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%27s_law
 
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%27s_law
 
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.
 

Welcome to EDABoard.com

Sponsor

Back
Top