Buffer Allocation

Every hardware engine inside NVIDIA hardware can have a different buffer constraint depending on how the buffer is interpreted by the engine. Hence, sharing a buffer across various engines requires that the allocated buffer satisfy the constraints of all engines that will access that buffer. The existing allocation APIs provided by NvMedia or CUDA only consider the constraints of the engines managed by them.

NvSciBuf is a buffer allocation module that can enable applications to allocate a buffer shareable across various hardware engines that are managed by different engine APIs.