- Construction of oneDNN objects based on existing SYCL objects
- Accessing SYCL objects for existing oneDNN objects
Unified Shared Memory (USM) pointer
API to construct oneDNN object
API to access SYCL object(s)
SYCL Buffers and DPC++ USM Interfaces for Memory Objects
- Constructs a USM-based memory object. The call is equivalent to calling the function above with withkindequal to dnnl::sycl_interop::memory_kind::usm.
- Constructs a buffer-based memory object based on a user-provided SYCL buffer.
Handling Dependencies with USM
- dnnl::sycl_interop::execute() interfaceThis interface enables you to pass dependencies between primitives using SYCL events. In this case, the user is responsible for passing proper dependencies for every primitive execution.
- In-order oneDNN streamoneDNN enables you to create in-order streams when submitted primitives are executed in the order they were submitted. Using in-order streams prevents possible read-before-write or concurrent read/write issues.