LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Which computer to choose for a FPGA compile server

Hello,

 

I'm wondering which computer I should should choose as my FPGA compile server. Is the compiler capable of executing the on multiple cores? Does the compiler need a lot of ram?

 

 

Greetings

 

Matthias

0 Kudos
Message 1 of 8
(4,651 Views)

Hi,

LabVIEW FPGA Remote Compilation and Memory Requirements are documented in the LabVIEW FGPA readme.

 

I hope this helps!

 

Regards,

Michael

0 Kudos
Message 2 of 8
(4,642 Views)

Partly. Will the compile Server use multiple cores or is the Problem not paralelizable?

0 Kudos
Message 3 of 8
(4,630 Views)

A fast single-core processor is better:

 

"The Xilinx Compile Server that LabVIEW FPGA uses is single-threaded. This means that a fast single core processor is better equipped to compile for FPGA than a multicore processor."

 

Taken from this link:

FPGA Development Tips That Will Save You Time

 

Regards,

Michael

0 Kudos
Message 4 of 8
(4,626 Views)

I've always been under the impression that available memory was a larger factor in compile time, then processing speed.  I have no link to verify this it's just what I've heard.

0 Kudos
Message 5 of 8
(4,619 Views)

I did some off the wall testing of compile times across different computers a while ago, so this is very informal but has some interesting results:

 

compiletesting.PNG

 

The CPUs in these systems are all different, generally it can be abstracted to this:

  • Core 2 Duo 1.8GHz < Dual Socket AMD Opteron 2.8GHz < Intel Core i7 2600k

You'll note that the blue and green times on the step time chart follow a similar trend (both systems had Windows). However the Linux (Red Hat Enterprise 5.6) had a significantly lower Synthesis time even though it has a slower processor, attributable to Xilinx optimizing more on the Linux platform.

 

My personal recommendations are in line with much of the documentation listed above. Single threaded performance matters a lot, but having multiple cores allows you to run multiple compiles on the server (typically multiple people are going to use it) so you have to think about how many cores it has as well.

 

In the current CPU market this isolates Intel CPUs as they have much higher single threaded performance numbers than AMD: http://anandtech.com/bench/CPU/344

 

As of September 2013 (this will change) for a cost effective consumer compile farm you can look at the Intel i7-4770(k): http://ark.intel.com/products/75123/

  • It uses the new Haswell 22nm core and is very power efficient
  • It has 4 cores and has hyperthreading so Windows/Linux will see 8 total cores
  • Each core can run at a high clock speed and it performs very well compared to other CPUs as noted in the Anandtech link above.

And, as for the RAM question it really depends on the size of FPGA VI that you have. Generally a single compile will not need more than 1GB of RAM but more complex ones can use more. For a new system I would aim for at least 16GB.

Craig H. | CLA CTA CLED | Applications Engineer | NI Employee 2012-2023
Message 6 of 8
(4,604 Views)

Ok thanks. Can you tell us what in this specific example the target was?

0 Kudos
Message 7 of 8
(4,598 Views)

Sorry I honestly don't remember!

It may have been a 9075 chassis. I could run the compiles again if you are interested in results from these machines for a specific FPGA VI (Assuming it isn't too big Smiley Very Happy).

Craig H. | CLA CTA CLED | Applications Engineer | NI Employee 2012-2023
0 Kudos
Message 8 of 8
(4,580 Views)