CUDA Streams Usage in ORIN AGX



I run two GPU applications (on the ORIN AGX development kit, jetpack 5.1) that uses CUDA streams. The streams are created using cudaStreamCreate API.
When i activated Nsight systems profiler on both of the applications (on the same time) , I got identical stream Ids.
My questions:

  1. Is this the physical stream ID? If so - how is it determined in the cudaStreamCreate API? It seems to be related to the order of calls to this API per GPU application
  2. If i make sure to use separated streams - Is parallelism on GPU guaranteed?
  3. When i run the two applications on the same logical (?) stream id #13, i manage to achieve parallel kernel activation. How is this possible?

Thank you,


Are there two processes or two threads in the same process?

On Jetson, the GPU resources are shared by processes in time-slicing.
It’s required to run parallel tasks in the same process.


There are two processes. So if the processes shared resources - it makes sense.
So - is there some benefit of using separated streams in 2 different processes?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.