NvBufSurface block-linear memory for dGPU

When using NvBufSurface is block-linear memory type supported on dGPU or is it only supported on Jetson?
If it is supported on dGPU, is it possible to get a cudaArray handle to each dataPtr’s in the NvBufSurfaceList?

It is fairly simple to get this cudaArray handle on Jetson but I want it for dGPU if possible.

it’s also supported on dGPU platform.

yes, you can take try.

But how would I go about getting from this dataPtr: NVIDIA DeepStream SDK API Reference: NvBufSurfaceParams Struct Reference

To a cudaArray?

Can you point me to any source saying it works on dGPU because the NvBufSurface documentation says you can only use pitch linear memory on dGPU, while block-linear is only available on Jetson:


Hi @kaspersj ,
Thanks for the link!

cudaArray is supported on dGPU which is actually block linear format.
But, as the link points out, NvBufSurface does not hold BL for dGPU, and I think, on dGPU, except the data from codec, in DeepStream, there is not chance to use BL data on dGPU, so any chance you need to use BL/cudaArray on dGPU when using DeepStream?
On Jetson, besides codec, there is other component, e.g. VIC, which can input & output BL data, so NvBufSurface could hold either PL or BL.

I’d really like to use blocklinear output from the nvidia v4l2 decoders on GPU but I see that is not a possibility then. Thank you for the answer, but I will keep using pitched memory on cloud and Jetson to keep crossplatform compatibility with my software.

Thank you!

I’d really like to use blocklinear output from the nvidia v4l2 decoders on GPU ==> understood! For now, even you are using VIDEO CODEC SDK - NVIDIA VIDEO CODEC SDK | NVIDIA Developer , it also return pitch linear, but I think it’s a good idea.

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