Blender  V3.3
dll_interface_template.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Apache-2.0
2  * Copyright 2022 Intel Corporation */
3 
4 /* device_capabilities() returns a C string that must be free'd with oneapi_free(). */
5 DLL_INTERFACE_CALL(oneapi_device_capabilities, char *)
6 DLL_INTERFACE_CALL(oneapi_free, void, void *)
7 DLL_INTERFACE_CALL(oneapi_get_memcapacity, size_t, SyclQueue *queue)
8 
9 DLL_INTERFACE_CALL(oneapi_get_num_multiprocessors, int, SyclQueue *queue)
10 DLL_INTERFACE_CALL(oneapi_get_max_num_threads_per_multiprocessor, int, SyclQueue *queue)
11 DLL_INTERFACE_CALL(oneapi_iterate_devices, void, OneAPIDeviceIteratorCallback cb, void *user_ptr)
12 DLL_INTERFACE_CALL(oneapi_set_error_cb, void, OneAPIErrorCallback, void *user_ptr)
13 
14 DLL_INTERFACE_CALL(oneapi_create_queue, bool, SyclQueue *&external_queue, int device_index)
15 DLL_INTERFACE_CALL(oneapi_free_queue, void, SyclQueue *queue)
17  oneapi_usm_aligned_alloc_host, void *, SyclQueue *queue, size_t memory_size, size_t alignment)
18 DLL_INTERFACE_CALL(oneapi_usm_alloc_device, void *, SyclQueue *queue, size_t memory_size)
19 DLL_INTERFACE_CALL(oneapi_usm_free, void, SyclQueue *queue, void *usm_ptr)
20 
22  oneapi_usm_memcpy, bool, SyclQueue *queue, void *dest, void *src, size_t num_bytes)
23 DLL_INTERFACE_CALL(oneapi_queue_synchronize, bool, SyclQueue *queue)
24 DLL_INTERFACE_CALL(oneapi_usm_memset,
25  bool,
26  SyclQueue *queue,
27  void *usm_ptr,
28  unsigned char value,
29  size_t num_bytes)
30 
31 DLL_INTERFACE_CALL(oneapi_run_test_kernel, bool, SyclQueue *queue)
32 
33 /* Operation with Kernel globals structure - map of global/constant allocation - filled before
34  * render/kernel execution As we don't know in cycles `sizeof` this - Cycles will manage just as
35  * pointer. */
36 DLL_INTERFACE_CALL(oneapi_kernel_globals_size, bool, SyclQueue *queue, size_t &kernel_global_size)
37 DLL_INTERFACE_CALL(oneapi_set_global_memory,
38  void,
39  SyclQueue *queue,
41  const char *memory_name,
42  void *memory_device_pointer)
43 
44 DLL_INTERFACE_CALL(oneapi_kernel_preferred_local_size,
45  size_t,
46  SyclQueue *queue,
47  const DeviceKernel kernel,
48  const size_t kernel_global_size)
49 DLL_INTERFACE_CALL(oneapi_enqueue_kernel,
50  bool,
51  KernelContext *context,
52  int kernel,
53  size_t global_size,
54  void **args)
SyclQueue * queue
SyclQueue void void size_t num_bytes SyclQueue void const char void *memory_device_pointer KernelContext int kernel
SyclQueue void void size_t num_bytes SyclQueue void const char * memory_name
SyclQueue void void * src
SyclQueue void void size_t num_bytes SyclQueue void const char void *memory_device_pointer KernelContext * context
DLL_INTERFACE_CALL(oneapi_usm_aligned_alloc_host, void *, SyclQueue *queue, size_t memory_size, size_t alignment) DLL_INTERFACE_CALL(oneapi_usm_memcpy
SyclQueue void * dest
SyclQueue void void size_t num_bytes SyclQueue void const char void *memory_device_pointer KernelContext int size_t global_size
SyclQueue void void size_t num_bytes SyclQueue void * kernel_globals
DeviceKernel