GPIO speed & CUDA access

I am interested in the NVIDIA Jetson platform for fast (digital) data aquisition and processing. I couldn’t find easily information about the GPIO capabilities of the Jetson platform. At which speed can you read the digitial input pins? Can you stream the aquired data to memory and access them via a CUDA kernel? I wouldn’t be so concerned about latency but about how fast you can sample and write the to the memory to process them. In the end, I would like to aquire the digital pins with around 500 MHz sampling rate and then process the aquired waveforms “on the fly” with CUDA.


GPIO is fairly slow. You could bit bang for slow data, or use this for button press detect. For actual digital or analog I/O you would want to use another interface. There is no issue with GPU/CUDA operating quickly and working with programs which are running, but when it comes to talking to the outside world you will need to plan ahead, and GPIO won’t be even remotely usable at 500 MHz.

If you truly need a lot of data throughput and quality timing, then PCIe would be the way to go. If high throughput is needed, but hard realtime is not needed, then USB3 is probably a good way to go (either via m.2 or full size slot PCIe). Needs for pseudo realtime on USB3 is probably also workable. Lower speed data via serial UART would work. There isn’t enough known about your use case to give any better answer.

Thanks for your answer. So maybe I should clarify what I want to do: I have a LVCMOS signal (0V and 3.3V for the logic levels) which is a pulse train with pulses of different spacings and lengths. I would like to digitize that signal with 2 ns time resolution (thus 500 MHz samping frequency) and process it by using CUDA. Processing would be e.g. counting pulses in a given interval, integrate the signal or to time tag it. My question is whether I can do this on the NVIDIA jetson platform or if the boards don’t allow me to sample the signal with onboard capabilties, whether there is supported hardware to do that.

Concerning PCIe and USB3 I think it is difficult since my signal is kind of a “raw” signal but I am happy to hear how this would work.


The GPIO could not even remotely work with that resolution and speed.

When I mention USB and PCIe, what I mean is an add-on digital/analog i/o hardware for the sampling. You will need extra hardware and the direct use of GPIO to do this will not be practical without that extra hardware.