mxnet
dnnl_sycl.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright 2020 Intel Corporation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *******************************************************************************/
16 
17 #ifndef ONEAPI_DNNL_DNNL_SYCL_H
18 #define ONEAPI_DNNL_DNNL_SYCL_H
19 
20 #include "oneapi/dnnl/dnnl.h"
21 
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
30 
33 
36 
45  dnnl_engine_t *engine, const void *device, const void *context);
46 
54  dnnl_engine_t engine, void **context);
55 
63  dnnl_engine_t engine, void **device);
64 
95  const dnnl_memory_desc_t *memory_desc, dnnl_engine_t engine,
96  dnnl_sycl_interop_memory_kind_t memory_kind, void *handle);
97 
106  const_dnnl_memory_t memory,
107  dnnl_sycl_interop_memory_kind_t *memory_kind);
108 
117  dnnl_memory_t memory, void *buffer, dnnl_stream_t stream);
118 
128  dnnl_stream_t *stream, dnnl_engine_t engine, void *queue);
129 
137  dnnl_stream_t stream, void **queue);
138 
157  const_dnnl_primitive_t primitive, dnnl_stream_t stream, int nargs,
158  const dnnl_exec_arg_t *args, const void *deps, void *return_event);
159 
161 
163 
165 
166 #ifdef __cplusplus
167 }
168 #endif
169 
170 #endif
dnnl_memory
dnnl_sycl_types.h
dnnl_status_t
dnnl_status_t
Status values returned by the library functions.
Definition: dnnl_types.h:39
dnnl_engine
An opaque structure to describe an engine.
dnnl_sycl_interop_engine_get_context
dnnl_status_t DNNL_API dnnl_sycl_interop_engine_get_context(dnnl_engine_t engine, void **context)
dnnl_sycl_interop_engine_create
dnnl_status_t DNNL_API dnnl_sycl_interop_engine_create(dnnl_engine_t *engine, const void *device, const void *context)
dnnl_exec_arg_t
Definition: dnnl_types.h:2887
dnnl_sycl_interop_engine_get_device
dnnl_status_t DNNL_API dnnl_sycl_interop_engine_get_device(dnnl_engine_t engine, void **device)
dnnl.h
dnnl_sycl_interop_memory_get_memory_kind
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)
dnnl_sycl_interop_memory_create
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)
dnnl_primitive
dnnl_memory_desc_t
Definition: dnnl_types.h:1792
dnnl_sycl_interop_primitive_execute
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)
dnnl_sycl_interop_memory_set_buffer
dnnl_status_t DNNL_API dnnl_sycl_interop_memory_set_buffer(dnnl_memory_t memory, void *buffer, dnnl_stream_t stream)
dnnl_stream
dnnl_sycl_interop_stream_get_queue
dnnl_status_t DNNL_API dnnl_sycl_interop_stream_get_queue(dnnl_stream_t stream, void **queue)
dnnl_sycl_interop_memory_kind_t
dnnl_sycl_interop_memory_kind_t
Memory allocation kind.
Definition: dnnl_sycl_types.h:34
dnnl_sycl_interop_stream_create
dnnl_status_t DNNL_API dnnl_sycl_interop_stream_create(dnnl_stream_t *stream, dnnl_engine_t engine, void *queue)