FPGARelated.com
Forums

Need to speed up Stratix compiles.

Started by Pete Fraser February 27, 2004
Max wrote:
> > On 03 Mar 2004 18:46:34 +0100, Petter Gustad wrote: > > >I would like to get see synthesis and place and route tools I could > >run on a cluster of cheap PC's. I would be happy with less than linear > >speedups, e.g. using a 16-node cluster to get a 8x speedup. > > I doubt you'd get anywhere near. Trying to implement those algorithms > efficiently on the sort of loosely-coupled architecture you propose > would be nigh-on impossible. It's not easy on a single SMP box, but > it's doable. > > A quad Xeon (8 x CPU) box would cost less than four single decent-spec > machines anyway.
Not if the four machines are sitting around all night running screen savers. -- Rick "rickman" Collins rick.collins@XYarius.com Ignore the reply address. To email me use the above address with the XY removed. Arius - A Signal Processing Solutions Company Specializing in DSP and FPGA design URL http://www.arius.com 4 King Ave 301-682-7772 Voice Frederick, MD 21701-3110 301-682-7666 FAX
rickman wrote:
> > I have always been surprised that the FPGA vendors don't put some effort > into evaluating platforms and releasing the results.
Would seem a very good idea. On this topic, I see Intel released a new Xeon with 3GHz and 4MB (!) cache, and they claim 25% faster. Of course, you pay - $3692 (Qty column not given ) :) The PR claims This is the last release before intel adds 64 bit extensions....
Max <mtj2@btopenworld.com> writes:

> On 03 Mar 2004 18:46:34 +0100, Petter Gustad wrote: > > >I would like to get see synthesis and place and route tools I could > >run on a cluster of cheap PC's. I would be happy with less than linear > >speedups, e.g. using a 16-node cluster to get a 8x speedup. > > I doubt you'd get anywhere near. Trying to implement those algorithms > efficiently on the sort of loosely-coupled architecture you propose > would be nigh-on impossible. It's not easy on a single SMP box, but > it's doable.
I disagree. Synthesis as well as P&R involve exploring many alternatives and sort/explore by some underestimate of expense/delay (typically using a A* search algorithm or similar). This can be done in parallel. The datasets can be copied to each node and there will be very little information which has to be exchanged over the interconnect. Of course there is not much to gain if your P&R takes 1 minute, but for larger designs and/or more accurate wire delay models (e.g. non-linear delay modeling and physical synthesis) the benefit will be larger. This has been implemented in some ASIC tools already. Actually Xilinx has been doing some very simple parallel processing in ISE (on Solaris and now Linux) for a long time. Multiple iterations of "par" can run in parallel on multiple hosts, then you pick the best result. This is of course, extremely coarse grained compared to what I indicated above. Petter -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
Max <mtj2@btopenworld.com> writes:

> A quad Xeon (8 x CPU) box would cost less than four single > decent-spec machines anyway.
My experience is the opposite. I've heard from users in the high performance computing industry that the most cost efficient systems are clusters of dual CPU nodes (assuming your application will run efficiently on a cluster). A 4 CPU Xeon system like a Dell PowerEdge 6650 with 4x Xeon, 3.0GHz and 4GB RAM costs $28,070. A single PowerEdge 750 (1U server) with 3.4GHz P4 (higher clock frequency, but smaller cache) with 1GB RAM costs $3,165. 8 CPU Xeon SMP's (Profusion architecture) are very expensive. A Proliant 8500 costs $100,000+ if memory serves me right. Petter -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
On 03 Mar 2004 22:58:46 +0100, Petter Gustad wrote:

>A 4 CPU Xeon system like a Dell PowerEdge 6650 with 4x Xeon, 3.0GHz >and 4GB RAM costs $28,070. A single PowerEdge 750 (1U server) with >3.4GHz P4 (higher clock frequency, but smaller cache) with 1GB RAM >costs $3,165.
The hyperthreaded Xeons run as two processors, so a quad Xeon board appears to a HT-aware OS as an 8-CPU system. Why pay for all the extra high-end hardware in a top-end server if you don't need it? When I was last looking at building systems like this, about 18 months or so ago, a quad-Xeon mobo from Supermicro was <$2000, and the processors were around $450 apiece. -- Max
Max <mtj2@btopenworld.com> writes:

> On 03 Mar 2004 22:58:46 +0100, Petter Gustad wrote: > > >A 4 CPU Xeon system like a Dell PowerEdge 6650 with 4x Xeon, 3.0GHz > >and 4GB RAM costs $28,070. A single PowerEdge 750 (1U server) with > >3.4GHz P4 (higher clock frequency, but smaller cache) with 1GB RAM > >costs $3,165. > > The hyperthreaded Xeons run as two processors, so a quad Xeon board > appears to a HT-aware OS as an 8-CPU system.
Then you would call a system with single P4 with HyperThreading a dual processor system as well then? This would be a little "unfair" when comparing to a full dual-core CPU like the rumored UltraSparc-IV.
> Why pay for all the extra high-end hardware in a top-end server if you > don't need it? When I was last looking at building systems like this,
My point was that you usually get lots of extra high-end hardware when you buy large SMP systems, especially when you need to go beyond 4-way. Also, it's usually cheaper to get 4x4GB RAM rather than 16GB RAM for a single MB (unless you have a large enough number of DIMM slots).
> about 18 months or so ago, a quad-Xeon mobo from Supermicro was > <$2000, and the processors were around $450 apiece.
This is pretty good, I was not aware of the low cost of the Supermicro MB. You would end up at close to $4000, e.g. in the same ballpark as buying 4 P4 systems. So if the application was performing better on the SMP than on the to the cluster I would definitely go with the SMP. Petter -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
I was just trying to be helpful by sharing my experience.
We're only interested in speeding up Quartus builds in this thread and some
have been suggesting more memory (32 GB in some instances) and faster
drives.  I've done both in two different machines and the biggest
improvement came from tweaking the memory subsystem, not adding more memory
above 512MB or a faster drive.

The 7200 RPM drive is very much faster as can be seen with much much faster
boot times.  Didn't mean much on Quartus builds though.  Seems Quartus needs
(for my Nios system) a fast CPU with at least several hundred MB's of
tweaked memory.

I write not slow image processing algorithms and use as many wires as the
system can provide.  If its an 8 bit cpu then I use 8 bit optimizations, if
its 32 bit then 32 bit optimizations.  Haven't tried 64 bit yet, but I plan
too.  Can't imagine any developer worth their salt that wouldn't.

Ken

"Max" <mtj2@btopenworld.com> wrote in message
news:5vtb40lq1kmtcfqefbhdr69ei29kpq6h60@4ax.com...
> On Tue, 2 Mar 2004 20:05:37 -0600, Kenneth Land wrote: > > > > >On the disk speed issue I have one data point. I upgraded my 1GHz PIII-M > >laptop drive from a slow 4200 RPM to the fastest 7200 RPM available (for > >laptops) and my Nios system build went from about 16 min. to about 15
min.
> >Not worth the pain and expense of swapping the drive. > > Not in a low-spec machine like that, no. The options in a laptop are > limited, and there's no way to increase the disk controller bandwidth. > But the effect on a powerful workstation of installing a RAID with a > high-bandwidth controller and drives such as U-320 SCSI can have a > dramatic impact. As always though, it depends on the application. > > >On memory, I upgraded the memory in my 3.2 GHz P4 from 512 to 1GB and
there
> >was no noticable difference until I set the memory from 333MHz to 400MHz > >dual channel. Then my system build went from 5 min. to 4 min. - 20%. > > That doesn't mean a lot. You only need to add more memory if you're > running out of it ;o) > > -- > Max
>This has been implemented in some ASIC tools already. Actually Xilinx >has been doing some very simple parallel processing in ISE (on Solaris >and now Linux) for a long time. Multiple iterations of "par" can run >in parallel on multiple hosts, then you pick the best result. This is >of course, extremely coarse grained compared to what I indicated >above.
Last I checked, multiple PAR runs didn't gain much if you had a well floor-planned system. That was a long time ago. Has anything changed? -- The suespammers.org mail server is located in California. So are all my other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited commercial e-mail to my suespammers.org address or any of my other addresses. These are my opinions, not necessarily my employer's. I hate spam.
Hi Rick,

> We can all speculate about the relative merits of processor > enhancements, but these machines are very complex and the only real way > to tell what helps is to try it. Since we are not all ancient Greeks > philosophizing in our armchairs, it would be a good idea to pick a > design and to run it on a few different workstations, hopefully > including an AMD64.
I agree. That's why my original posting makes reference to some SPEC results showing that 64-bit code on Athlon64 is ~5% slower than the same programs compiled in 32-bit code. One specific SPEC sub-component is a tool called VPR, which is an academic place & route tool for FPGAs. It shows a 8% slow-down. While by no means comprehensive, I think this gives an idea of how much speed to expect out of 64-bit vs. 32-bit code, at least for now. I've forwarded your comments on how nice it would be to see some results for different system configurations on to the relevant groups in Altera. My personal experience (going from PII to PIII to P4) has been that SPEC2000 is a pretty good proxy for Quartus performance, especially for place & route limited designs. Regards, Paul
Hi Max,

> Is there any possibility of making Quartus multi-threaded? That > strikes me as the most likely way to get a dramatic performance > increase, though I know it's not always easy to achieve with heuristic > apps.
It's hard to use fine-grained parallelism on place-and-route tools like Quartus. This doesn't mean that people (academia, industry) haven't tried and aren't still trying, but I wouldn't hold my breath. See my previous posting on this topic: http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=Paul+Leventis+multi-threaded Of course, coarse-grained parallelism (running multiple place-and-route runs on multiple machines) is much easier. Quartus II ships with a pretty cool tool called Design Space Explorer. This tool tries out a whole bunch of Quartus settings and random seeds on your design in order to find the settings that optimize performance. This requires multiple runs of Quartus. DSE is capable of farming these runs off to multiple CPUs/computers through LSF or a built-in distributed computing engine. To find out more about DSE and coarse-grained parallelism, please see the section entitled "DSE Advanced Information" in http://www.altera.com/literature/hb/qts/qts_qii52008.pdf Regards, Paul Leventis Altera Corp.