IVC Carveout Allocation#

NvSciSync uses the NvSciBuf API to allocate memory for its internal buffers for various features. If an inter-VM pipeline uses NvSciSync to signal, NvSciSync may need to allocate from an IVC carveout to back the NvSciBufObj used to back the NvSciSyncObj for that functionality.

NvSciSync will allocate an NvSciBufObj to back the NvSciSyncObj for the following features:

  • Task Status buffers

  • Timestamps

  • Semaphore primitives

When sizing IVC carveouts for an inter-VM pipeline, account for both application-level NvSciBufObj allocations and any internal NvSciBufObj allocations that NvSciSync requires. For the conditions under which NvSciBuf selects an IVC carveout, see IVC Carveout Allocation.

For additional inter-VM considerations such as fence timeouts and VM restart recovery, see Considerations for Inter-VM.