LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA compile farm for NXG?

Hi guys,

 

for the last couple of days i was sitting at our PXI Rack and wrote some FPGA accelerated programs for the 7976R FPGA cards in NXG5.0.

Everything is fine and compilation finishes without errors and was sucessfully run on our hardware.

Till now i was compiling the FPGA images on the local windows computer, which was fine but takes rather long.

I realized, that the Vivado compiler only utilizes a maximum of two core during compile time, which according to some Xilinx Blog posts is the default option for windows. I also verified this from the Compiler Log-Files.

We have a total of 16 cores available, is there an option in NXG to utilize more than two cores with windows?

 

I also studied the documents on the compile farm toolkit in the hope to accelerate compilation. From the NI-Benchmarks the Linux compile workers are in general faster than windows ones. So, i tried to get this to work to be able to connect a linux compile worker to my windows machine. Unfortunatelly the compile farm seems only to be availabe for LabView 2020 and not NXG? Is this correct?

 

Are there besides the Cloud compile service and local compilation with only two core in windows other options we could use with NXG?

 

Thank you in advance.

0 Kudos
Message 1 of 4
(1,194 Views)

You can configure the CPU core usage by following the instructions here

 

pdengrd_0-1601177125724.png

 

0 Kudos
Message 2 of 4
(1,133 Views)

Thank you for your reply.

I have seen the mentioned guide and followed along. With the mentioned setting unfortunately only the number of parallel jobs can be configured.

Actually, on Windows the underlying Xilinx Compiler is using two cores during Placing&Routing per Job.

 

In the Compiler Log-Files, we can check this behaviour:

"INFO: [Route 35-254] Multithreading enabled for route_design using a maximum of 2 CPUs"

 

On page 7 of the Vivado Tools UG904 (Vivado Design Suite User Guide Implementation), I found that Vivado per default limits the number of threads on Windows systems to 2 Cores and on Linux to 8 Cores:

"To change the limit use the following Tcl command:Vivado% set_param general.maxThreads <new limit>where the new limit must be an integer from 1 to 8, inclusive.
Tcl example:
On a Windows system:
Vivado% get_param general.maxThreads 2"

So, the underlying Vivado compiler is capable of using more than these 2 cores used when started from LabView, just needs to be configured. I already tried a tcl-script to directly advise the Xilinx Compiler to use more cores, which unfortunately did not work. If you have any further ideas to utilize all the resources sitting just idle, i would be very glad.

Thank you in advance.

0 Kudos
Message 3 of 4
(1,118 Views)

Unfortunately you cannot configure the number of cores to use for compilation. And yes you are correct that on Linux, the compile farm toolkit is only available for LabVIEW 2020, not NXG.

0 Kudos
Message 4 of 4
(1,100 Views)