mxnet
|
Enumerations | |
enum | dnnl_sycl_interop_memory_kind_t { dnnl_sycl_interop_usm, dnnl_sycl_interop_buffer } |
Memory allocation kind. More... | |
dnnl_status_t DNNL_API dnnl_sycl_interop_engine_create | ( | dnnl_engine_t * | engine, |
const void * | device, | ||
const void * | context | ||
) |
Creates an engine associated with a SYCL device and a SYCL context.
engine | Output engine. |
device | Pointer to the SYCL device to use for the engine. |
context | Pointer to the SYCL context to use for the engine. |
dnnl_status_t DNNL_API dnnl_sycl_interop_engine_get_context | ( | dnnl_engine_t | engine, |
void ** | context | ||
) |
Returns the SYCL context associated with an engine.
engine | Engine to query. |
context | Pointer to the underlying SYCL context of the engine. |
dnnl_status_t DNNL_API dnnl_sycl_interop_engine_get_device | ( | dnnl_engine_t | engine, |
void ** | device | ||
) |
Returns the SYCL device associated with an engine.
engine | Engine to query. |
device | Pointer to the underlying SYCL device of the engine. |
dnnl_status_t DNNL_API dnnl_sycl_interop_memory_create | ( | dnnl_memory_t * | memory, |
const dnnl_memory_desc_t * | memory_desc, | ||
dnnl_engine_t | engine, | ||
dnnl_sycl_interop_memory_kind_t | memory_kind, | ||
void * | handle | ||
) |
Creates a memory object.
Unless handle
is equal to DNNL_MEMORY_NONE or DNNL_MEMORY_ALLOCATE, the constructed memory object will have the underlying buffer set. In this case, the buffer will be initialized as if:
memory_kind
is equal to dnnl_sycl_interop_usm, ormemory_kind
is equal to dnnl_sycl_interop_buffer.memory | Output memory object. |
memory_desc | Memory descriptor. |
engine | Engine to use. |
memory_kind | Memory allocation kind to specify the type of handle. |
handle | Handle of the memory buffer to use as an underlying storage.
|
dnnl_status_t DNNL_API dnnl_sycl_interop_memory_get_memory_kind | ( | const_dnnl_memory_t | memory, |
dnnl_sycl_interop_memory_kind_t * | memory_kind | ||
) |
Returns the memory allocation kind associated with a memory object.
memory | Memory to query. |
memory_kind | Output underlying memory allocation kind of the memory object. |
dnnl_status_t DNNL_API dnnl_sycl_interop_memory_set_buffer | ( | dnnl_memory_t | memory, |
void * | buffer, | ||
dnnl_stream_t | stream | ||
) |
Sets a SYCL buffer for a memory object.
memory | Memory object. |
buffer | SYCL buffer to be set in the memory object. |
stream | Stream to use to execute padding in. |
dnnl_status_t DNNL_API dnnl_sycl_interop_primitive_execute | ( | const_dnnl_primitive_t | primitive, |
dnnl_stream_t | stream, | ||
int | nargs, | ||
const dnnl_exec_arg_t * | args, | ||
const void * | deps, | ||
void * | return_event | ||
) |
Executes computations specified by the primitive in a specified stream and returns a SYCL event.
primitive | Primitive to execute. |
stream | Stream to use. |
nargs | Number of arguments. |
args | Array of arguments. Each argument is an <index, dnnl_memory_t> pair. The index is one of the DNNL_ARG_* values such as DNNL_ARG_SRC . Unless runtime shapes are used (see DNNL_RUNTIME_DIM_VAL), the memory object must have the same memory descriptor as that returned by dnnl_primitive_desc_query_md(dnnl_query_exec_arg_md, index). |
deps | A pointer to std::vector<sycl::event> that contains dependencies. |
return_event | Output event. |
dnnl_status_t DNNL_API dnnl_sycl_interop_stream_create | ( | dnnl_stream_t * | stream, |
dnnl_engine_t | engine, | ||
void * | queue | ||
) |
Creates an execution stream for a given engine associated with a SYCL queue.
stream | Output execution stream. |
engine | Engine to create the execution stream on. |
queue | SYCL queue to use. |
dnnl_status_t DNNL_API dnnl_sycl_interop_stream_get_queue | ( | dnnl_stream_t | stream, |
void ** | queue | ||
) |
Returns the SYCL queue associated with an execution stream.
stream | Execution stream to query. |
queue | Output SYCL command queue. |