Unified Shared MemoryΒΆ

Unified shared memory provides a pointer-based alternative to the buffer and accessor programming model. It provides both explicit and implicit models for managing memory. In the explicit model, programmers are responsible for specifying when data should be copied between memory allocations on the host and allocations on a device. In the implicit model, the underlying runtime and device drivers are responsible for automatically migrating memory between the host and a device.

Since unified shared memory does not rely on accessors, dependencies between operations must be specified using events. Programmers may either explicitly wait on event objects or use the depends_on method inside a command group to specify a list of events that must complete before a task may begin.