Synchronization

This chapter describes how to set up synchronization objects required by an application or a set of applications, and how to use them to control the order in which operations are performed by NVIDIA hardware. The basic setup process is similar to the process used for allocating buffers described in the previous chapter:

  • Specify the restrictions imposed by the hardware components that signal the sync objects.
  • Specify the restrictions imposed by the hardware components that wait on the sync fences.
  • Gather the information for each set of sync objects into one application, which allocates them.
  • Share the allocated sync objects with other applications.
  • Map the sync objects into UMD specific interfaces.

The streaming process issues commands to update the sync objects, and commands to waits for those updates, so that different sets of operations remain in sync with each other.