From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

GPU on cRIO/SBRIO

Solved!
Go to solution

Is there any development going on to get a GPU on the cRIO or similar platform for calculation purposes? An NVidea GPU with CUDA support?

 

Something like NVidea Jetson.

 

Having both a CPU, GPU and FPGA on the same platform would be of advantage in some applications.

 

Asked this at NI days several years ago now and nothing has really happened after that. Only an integrated GPU on the cRIO for displays but I think they are not possible to code.

0 Kudos
Message 1 of 7
(3,863 Views)

Interesting thought.  Out of curiousity, what kind of calculations would you need the GPU to be doing?  My main thought is that FPGAs are getting faster and larger, so why not just do more calculations in the FPGA?

 

My other thought is if GPUs are added for calculation purposes I would want direct access to the GPU from the FPGA.  I have learned over the years to put as much as possible in the FPGA (it is the ultimate in determinism and reliability plus I do not have to worry about CPU and memory usage).  So any of these complex calculations that are passed to the GPU needs a direct path to/from the FPGA.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 7
(3,849 Views)

For example:

 

FPGA - handle high speed sensor data, control loops etc. Depending on system and application this may already take up a lot FPGA space.

GPU - use for heavvy calculations - that you do not need to have in a FPGA, but would kill the CPU if you would put it there. Like handling some of the backward propagation of Dnn's - that may not nessesary affect the control loop at all and are not nessesary to have in there.

 

I have *a feeling* that it gives more order in the system and gets more flexible. For future updates of software code I feel somewhat unsafe if the FPGA reaches its space limits or closes in, if putting a lot in there. I can see situations where I want the FPGA to be kept running, but perhaps only change the functions running on the GPU depending on different situations or time intervals. Perhaps running vision functions at one point, but BP algorgorithms at another point - while the FPGA is still running and keeping the important tasks alive and doing what it needs to do - wich are more "static".

0 Kudos
Message 3 of 7
(3,841 Views)

Would you want to program the GPU from LabVIEW, or do you have some other way to tell it what to do?

0 Kudos
Message 4 of 7
(3,831 Views)

If you would use labview to code the GPU, I would believe having support for the NVidea PC boards (like the tesla board etc.) aswell would be of advantage due to otherwise one would need to program CUDA for those boards and are unable to reuse some of the functions on the CPU/GPU/FPGA hardware. I guess you would be looking at developing a Labview -> cuda compiler.

 

However for me personally coding in CUDA is fine, and simply use things like the GPU toolkit for labview for loading and running functions on the GPU.

0 Kudos
Message 5 of 7
(3,806 Views)

Regardless of how we program the GPU - the main question was

 

"Is there any development going on to get a GPU on the cRIO or similar platform for calculation purposes?"

 

(I know I most likely wont get any direct answer on this - but would like to put pressure on such development)

 

0 Kudos
Message 6 of 7
(3,787 Views)
Solution
Accepted by topic author Corny

As you mentioned, we are not able to share direct information like that via the forum. I do want to capture your feedback and use case though. I'll send a private message, so we can talk offline in further details.

 

Historically speaking, we have relied on the FPGA for intense processing (hardware acceleration). We have improved this capability with a couple of our latest CompactRIO controllers (specifically the cRIO-9034 and cRIO-9039), where we have added DRAM connected directly to the FPGA in order to process larger data sets on the FPGA.

0 Kudos
Message 7 of 7
(3,781 Views)