#include "CL/cl.h"
#include <CL/cl_ext.h>
#include <CL/sycl/detail/cl.h>
#include <CL/sycl/detail/export.hpp>
#include <cstdint>
#include <CL/sycl/detail/pi.def>
Go to the source code of this file.
Classes | |
struct | _pi_offload_entry_struct |
struct | _pi_device_binary_property_struct |
struct | _pi_device_binary_property_set_struct |
struct | pi_device_binary_struct |
This struct is a record of the device binary information. More... | |
struct | pi_buffer_region_struct |
struct | pi_buff_rect_offset_struct |
struct | pi_buff_rect_region_struct |
struct | pi_image_offset_struct |
struct | pi_image_region_struct |
struct | pi_device_binaries_struct |
This struct is a record of all the device code that may be offloaded. More... | |
struct | _pi_image_format |
struct | _pi_image_desc |
struct | _pi_plugin |
struct | _pi_plugin::FunctionPointers |
Macros | |
#define | _PI_H_VERSION_MAJOR 8 |
#define | _PI_H_VERSION_MINOR 10 |
#define | _PI_STRING_HELPER(a) #a |
#define | _PI_CONCAT(a, b) _PI_STRING_HELPER(a.b) |
#define | _PI_H_VERSION_STRING _PI_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR) |
#define | __SYCL_PI_DEVICE_BINARY_TARGET_UNKNOWN "<unknown>" |
Target identification strings for pi_device_binary_struct.DeviceTargetSpec. More... | |
#define | __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV32 "spir" |
SPIR-V 32-bit image <-> "spir", 32-bit OpenCL device. More... | |
#define | __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64 "spir64" |
SPIR-V 64-bit image <-> "spir64", 64-bit OpenCL device. More... | |
#define | __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_X86_64 "spir64_x86_64" |
Device-specific binary images produced from SPIR-V 64-bit <-> various "spir64_*" triples for specific 64-bit OpenCL devices. More... | |
#define | __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN "spir64_gen" |
#define | __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA "spir64_fpga" |
#define | __SYCL_PI_DEVICE_BINARY_TARGET_NVPTX64 "nvptx64" |
PTX 64-bit image <-> "nvptx64", 64-bit NVIDIA PTX device. More... | |
#define | __SYCL_PI_DEVICE_BINARY_TARGET_AMDGCN "amdgcn" |
#define | PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT "pi_ext_intel_devicelib_assert" |
Extension to denote native support of assert feature by an arbitrary device piDeviceGetInfo call should return this extension when the device supports native asserts if supported extensions' names are requested. More... | |
#define | __SYCL_PI_PROPERTY_SET_SPEC_CONST_MAP "SYCL/specialization constants" |
Device binary image property set names recognized by the SYCL runtime. More... | |
#define | __SYCL_PI_PROPERTY_SET_SPEC_CONST_DEFAULT_VALUES_MAP "SYCL/specialization constants default values" |
PropertySetRegistry::SYCL_SPEC_CONSTANTS_DEFAULT_VALUES defined in PropertySetIO.h. More... | |
#define | __SYCL_PI_PROPERTY_SET_DEVICELIB_REQ_MASK "SYCL/devicelib req mask" |
PropertySetRegistry::SYCL_DEVICELIB_REQ_MASK defined in PropertySetIO.h. More... | |
#define | __SYCL_PI_PROPERTY_SET_KERNEL_PARAM_OPT_INFO "SYCL/kernel param opt" |
PropertySetRegistry::SYCL_KERNEL_PARAM_OPT_INFO defined in PropertySetIO.h. More... | |
#define | __SYCL_PI_PROPERTY_SET_PROGRAM_METADATA "SYCL/program metadata" |
PropertySetRegistry::SYCL_KERNEL_PROGRAM_METADATA defined in PropertySetIO.h. More... | |
#define | __SYCL_PI_PROPERTY_SET_SYCL_MISC_PROP "SYCL/misc properties" |
PropertySetRegistry::SYCL_MISC_PROP defined in PropertySetIO.h. More... | |
#define | __SYCL_PI_PROPERTY_SET_SYCL_ASSERT_USED "SYCL/assert used" |
PropertySetRegistry::SYCL_ASSERT_USED defined in PropertySetIO.h. More... | |
#define | __SYCL_PI_PROPERTY_SET_SYCL_EXPORTED_SYMBOLS "SYCL/exported symbols" |
PropertySetRegistry::SYCL_EXPORTED_SYMBOLS defined in PropertySetIO.h. More... | |
#define | __SYCL_PI_PROPERTY_SET_SYCL_DEVICE_GLOBALS "SYCL/device globals" |
PropertySetRegistry::SYCL_DEVICE_GLOBALS defined in PropertySetIO.h. More... | |
#define | __SYCL_PI_PROGRAM_METADATA_TAG_REQD_WORK_GROUP_SIZE "@reqd_work_group_size" |
Program metadata tags recognized by the PI backends. More... | |
#define | _PI_API(api) decltype(::api) *api; |
Functions | |
pi_result | piPluginInit (pi_plugin *plugin_info) |
pi_result | piPlatformsGet (pi_uint32 num_entries, pi_platform *platforms, pi_uint32 *num_platforms) |
pi_result | piPlatformGetInfo (pi_platform platform, pi_platform_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piextPlatformGetNativeHandle (pi_platform platform, pi_native_handle *nativeHandle) |
Gets the native handle of a PI platform object. More... | |
pi_result | piextPlatformCreateWithNativeHandle (pi_native_handle nativeHandle, pi_platform *platform) |
Creates PI platform object from a native handle. More... | |
pi_result | piDevicesGet (pi_platform platform, pi_device_type device_type, pi_uint32 num_entries, pi_device *devices, pi_uint32 *num_devices) |
pi_result | piDeviceGetInfo (pi_device device, pi_device_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
Returns requested info for provided native device Return PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT for PI_DEVICE_INFO_EXTENSIONS query when the device supports native asserts. More... | |
pi_result | piDeviceRetain (pi_device device) |
pi_result | piDeviceRelease (pi_device device) |
pi_result | piDevicePartition (pi_device device, const pi_device_partition_property *properties, pi_uint32 num_devices, pi_device *out_devices, pi_uint32 *out_num_devices) |
pi_result | piextDeviceGetNativeHandle (pi_device device, pi_native_handle *nativeHandle) |
Gets the native handle of a PI device object. More... | |
pi_result | piextDeviceCreateWithNativeHandle (pi_native_handle nativeHandle, pi_platform platform, pi_device *device) |
Creates PI device object from a native handle. More... | |
pi_result | piextDeviceSelectBinary (pi_device device, pi_device_binary *binaries, pi_uint32 num_binaries, pi_uint32 *selected_binary_ind) |
Selects the most appropriate device binary based on runtime information and the IR characteristics. More... | |
pi_result | piextGetDeviceFunctionPointer (pi_device device, pi_program program, const char *function_name, pi_uint64 *function_pointer_ret) |
Retrieves a device function pointer to a user-defined function. More... | |
pi_result | piContextCreate (const pi_context_properties *properties, pi_uint32 num_devices, const pi_device *devices, void(*pfn_notify)(const char *errinfo, const void *private_info, size_t cb, void *user_data), void *user_data, pi_context *ret_context) |
pi_result | piContextGetInfo (pi_context context, pi_context_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piContextRetain (pi_context context) |
pi_result | piContextRelease (pi_context context) |
pi_result | piextContextSetExtendedDeleter (pi_context context, pi_context_extended_deleter func, void *user_data) |
pi_result | piextContextGetNativeHandle (pi_context context, pi_native_handle *nativeHandle) |
Gets the native handle of a PI context object. More... | |
pi_result | piextContextCreateWithNativeHandle (pi_native_handle nativeHandle, pi_uint32 numDevices, const pi_device *devices, bool pluginOwnsNativeHandle, pi_context *context) |
Creates PI context object from a native handle. More... | |
pi_result | piQueueCreate (pi_context context, pi_device device, pi_queue_properties properties, pi_queue *queue) |
pi_result | piQueueGetInfo (pi_queue command_queue, pi_queue_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piQueueRetain (pi_queue command_queue) |
pi_result | piQueueRelease (pi_queue command_queue) |
pi_result | piQueueFinish (pi_queue command_queue) |
pi_result | piQueueFlush (pi_queue command_queue) |
pi_result | piextQueueGetNativeHandle (pi_queue queue, pi_native_handle *nativeHandle) |
Gets the native handle of a PI queue object. More... | |
pi_result | piextQueueCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, pi_device device, bool pluginOwnsNativeHandle, pi_queue *queue) |
Creates PI queue object from a native handle. More... | |
pi_result | piMemBufferCreate (pi_context context, pi_mem_flags flags, size_t size, void *host_ptr, pi_mem *ret_mem, const pi_mem_properties *properties=nullptr) |
pi_result | piMemImageCreate (pi_context context, pi_mem_flags flags, const pi_image_format *image_format, const pi_image_desc *image_desc, void *host_ptr, pi_mem *ret_mem) |
pi_result | piMemGetInfo (pi_mem mem, pi_mem_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piMemImageGetInfo (pi_mem image, pi_image_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piMemRetain (pi_mem mem) |
pi_result | piMemRelease (pi_mem mem) |
pi_result | piMemBufferPartition (pi_mem buffer, pi_mem_flags flags, pi_buffer_create_type buffer_create_type, void *buffer_create_info, pi_mem *ret_mem) |
pi_result | piextMemGetNativeHandle (pi_mem mem, pi_native_handle *nativeHandle) |
Gets the native handle of a PI mem object. More... | |
pi_result | piextMemCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, bool ownNativeHandle, pi_mem *mem) |
Creates PI mem object from a native handle. More... | |
pi_result | piProgramCreate (pi_context context, const void *il, size_t length, pi_program *res_program) |
pi_result | piclProgramCreateWithSource (pi_context context, pi_uint32 count, const char **strings, const size_t *lengths, pi_program *ret_program) |
pi_result | piProgramCreateWithBinary (pi_context context, pi_uint32 num_devices, const pi_device *device_list, const size_t *lengths, const unsigned char **binaries, size_t num_metadata_entries, const pi_device_binary_property *metadata, pi_int32 *binary_status, pi_program *ret_program) |
Creates a PI program for a context and loads the given binary into it. More... | |
pi_result | piProgramGetInfo (pi_program program, pi_program_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piProgramLink (pi_context context, pi_uint32 num_devices, const pi_device *device_list, const char *options, pi_uint32 num_input_programs, const pi_program *input_programs, void(*pfn_notify)(pi_program program, void *user_data), void *user_data, pi_program *ret_program) |
pi_result | piProgramCompile (pi_program program, pi_uint32 num_devices, const pi_device *device_list, const char *options, pi_uint32 num_input_headers, const pi_program *input_headers, const char **header_include_names, void(*pfn_notify)(pi_program program, void *user_data), void *user_data) |
pi_result | piProgramBuild (pi_program program, pi_uint32 num_devices, const pi_device *device_list, const char *options, void(*pfn_notify)(pi_program program, void *user_data), void *user_data) |
pi_result | piProgramGetBuildInfo (pi_program program, pi_device device, cl_program_build_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piProgramRetain (pi_program program) |
pi_result | piProgramRelease (pi_program program) |
pi_result | piextProgramSetSpecializationConstant (pi_program prog, pi_uint32 spec_id, size_t spec_size, const void *spec_value) |
Sets a specialization constant to a specific value. More... | |
pi_result | piextProgramGetNativeHandle (pi_program program, pi_native_handle *nativeHandle) |
Gets the native handle of a PI program object. More... | |
pi_result | piextProgramCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, bool pluginOwnsNativeHandle, pi_program *program) |
Creates PI program object from a native handle. More... | |
pi_result | piKernelCreate (pi_program program, const char *kernel_name, pi_kernel *ret_kernel) |
pi_result | piKernelSetArg (pi_kernel kernel, pi_uint32 arg_index, size_t arg_size, const void *arg_value) |
pi_result | piKernelGetInfo (pi_kernel kernel, pi_kernel_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piKernelGetGroupInfo (pi_kernel kernel, pi_device device, pi_kernel_group_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piKernelGetSubGroupInfo (pi_kernel kernel, pi_device device, pi_kernel_sub_group_info param_name, size_t input_value_size, const void *input_value, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
API to query information from the sub-group from a kernel. More... | |
pi_result | piKernelRetain (pi_kernel kernel) |
pi_result | piKernelRelease (pi_kernel kernel) |
pi_result | piextKernelSetArgPointer (pi_kernel kernel, pi_uint32 arg_index, size_t arg_size, const void *arg_value) |
Sets up pointer arguments for CL kernels. More... | |
pi_result | piKernelSetExecInfo (pi_kernel kernel, pi_kernel_exec_info value_name, size_t param_value_size, const void *param_value) |
API to set attributes controlling kernel execution. More... | |
pi_result | piextKernelCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, pi_program program, bool pluginOwnsNativeHandle, pi_kernel *kernel) |
Creates PI kernel object from a native handle. More... | |
pi_result | piextKernelGetNativeHandle (pi_kernel kernel, pi_native_handle *nativeHandle) |
Gets the native handle of a PI kernel object. More... | |
pi_result | piEventCreate (pi_context context, pi_event *ret_event) |
pi_result | piEventGetInfo (pi_event event, pi_event_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piEventGetProfilingInfo (pi_event event, pi_profiling_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piEventsWait (pi_uint32 num_events, const pi_event *event_list) |
pi_result | piEventSetCallback (pi_event event, pi_int32 command_exec_callback_type, void(*pfn_notify)(pi_event event, pi_int32 event_command_status, void *user_data), void *user_data) |
pi_result | piEventSetStatus (pi_event event, pi_int32 execution_status) |
pi_result | piEventRetain (pi_event event) |
pi_result | piEventRelease (pi_event event) |
pi_result | piextEventGetNativeHandle (pi_event event, pi_native_handle *nativeHandle) |
Gets the native handle of a PI event object. More... | |
pi_result | piextEventCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, bool ownNativeHandle, pi_event *event) |
Creates PI event object from a native handle. More... | |
pi_result | piSamplerCreate (pi_context context, const pi_sampler_properties *sampler_properties, pi_sampler *result_sampler) |
pi_result | piSamplerGetInfo (pi_sampler sampler, pi_sampler_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
pi_result | piSamplerRetain (pi_sampler sampler) |
pi_result | piSamplerRelease (pi_sampler sampler) |
pi_result | piEnqueueKernelLaunch (pi_queue queue, pi_kernel kernel, pi_uint32 work_dim, const size_t *global_work_offset, const size_t *global_work_size, const size_t *local_work_size, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueNativeKernel (pi_queue queue, void(*user_func)(void *), void *args, size_t cb_args, pi_uint32 num_mem_objects, const pi_mem *mem_list, const void **args_mem_loc, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueEventsWait (pi_queue command_queue, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueEventsWaitWithBarrier (pi_queue command_queue, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemBufferRead (pi_queue queue, pi_mem buffer, pi_bool blocking_read, size_t offset, size_t size, void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemBufferReadRect (pi_queue command_queue, pi_mem buffer, pi_bool blocking_read, pi_buff_rect_offset buffer_offset, pi_buff_rect_offset host_offset, pi_buff_rect_region region, size_t buffer_row_pitch, size_t buffer_slice_pitch, size_t host_row_pitch, size_t host_slice_pitch, void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemBufferWrite (pi_queue command_queue, pi_mem buffer, pi_bool blocking_write, size_t offset, size_t size, const void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemBufferWriteRect (pi_queue command_queue, pi_mem buffer, pi_bool blocking_write, pi_buff_rect_offset buffer_offset, pi_buff_rect_offset host_offset, pi_buff_rect_region region, size_t buffer_row_pitch, size_t buffer_slice_pitch, size_t host_row_pitch, size_t host_slice_pitch, const void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemBufferCopy (pi_queue command_queue, pi_mem src_buffer, pi_mem dst_buffer, size_t src_offset, size_t dst_offset, size_t size, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemBufferCopyRect (pi_queue command_queue, pi_mem src_buffer, pi_mem dst_buffer, pi_buff_rect_offset src_origin, pi_buff_rect_offset dst_origin, pi_buff_rect_region region, size_t src_row_pitch, size_t src_slice_pitch, size_t dst_row_pitch, size_t dst_slice_pitch, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemBufferFill (pi_queue command_queue, pi_mem buffer, const void *pattern, size_t pattern_size, size_t offset, size_t size, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemImageRead (pi_queue command_queue, pi_mem image, pi_bool blocking_read, pi_image_offset origin, pi_image_region region, size_t row_pitch, size_t slice_pitch, void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemImageWrite (pi_queue command_queue, pi_mem image, pi_bool blocking_write, pi_image_offset origin, pi_image_region region, size_t input_row_pitch, size_t input_slice_pitch, const void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemImageCopy (pi_queue command_queue, pi_mem src_image, pi_mem dst_image, pi_image_offset src_origin, pi_image_offset dst_origin, pi_image_region region, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemImageFill (pi_queue command_queue, pi_mem image, const void *fill_color, const size_t *origin, const size_t *region, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piEnqueueMemBufferMap (pi_queue command_queue, pi_mem buffer, pi_bool blocking_map, pi_map_flags map_flags, size_t offset, size_t size, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event, void **ret_map) |
pi_result | piEnqueueMemUnmap (pi_queue command_queue, pi_mem memobj, void *mapped_ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
pi_result | piextKernelSetArgMemObj (pi_kernel kernel, pi_uint32 arg_index, const pi_mem *arg_value) |
pi_result | piextKernelSetArgSampler (pi_kernel kernel, pi_uint32 arg_index, const pi_sampler *arg_value) |
pi_result | piextUSMHostAlloc (void **result_ptr, pi_context context, pi_usm_mem_properties *properties, size_t size, pi_uint32 alignment) |
Allocates host memory accessible by the device. More... | |
pi_result | piextUSMDeviceAlloc (void **result_ptr, pi_context context, pi_device device, pi_usm_mem_properties *properties, size_t size, pi_uint32 alignment) |
Allocates device memory. More... | |
pi_result | piextUSMSharedAlloc (void **result_ptr, pi_context context, pi_device device, pi_usm_mem_properties *properties, size_t size, pi_uint32 alignment) |
Allocates memory accessible on both host and device. More... | |
pi_result | piextUSMFree (pi_context context, void *ptr) |
Indicates that the allocated USM memory is no longer needed on the runtime side. More... | |
pi_result | piextUSMEnqueueMemset (pi_queue queue, void *ptr, pi_int32 value, size_t count, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event) |
USM Memset API. More... | |
pi_result | piextUSMEnqueueMemcpy (pi_queue queue, pi_bool blocking, void *dst_ptr, const void *src_ptr, size_t size, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event) |
USM Memcpy API. More... | |
pi_result | piextUSMEnqueuePrefetch (pi_queue queue, const void *ptr, size_t size, pi_usm_migration_flags flags, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event) |
Hint to migrate memory to the device. More... | |
pi_result | piextUSMEnqueueMemAdvise (pi_queue queue, const void *ptr, size_t length, pi_mem_advice advice, pi_event *event) |
USM Memadvise API. More... | |
pi_result | piextUSMGetMemAllocInfo (pi_context context, const void *ptr, pi_mem_alloc_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret) |
API to query information about USM allocated pointers Valid Queries: PI_MEM_ALLOC_TYPE returns host/device/shared pi_host_usm value PI_MEM_ALLOC_BASE_PTR returns the base ptr of an allocation if the queried pointer fell inside an allocation. More... | |
pi_result | piextPluginGetOpaqueData (void *opaque_data_param, void **opaque_data_return) |
API to get Plugin internal data, opaque to SYCL RT. More... | |
pi_result | piTearDown (void *PluginParameter) |
API to notify that the plugin should clean up its resources. More... | |
pi_result | piPluginGetLastError (char **message) |
API to get Plugin specific warning and error messages. More... | |
#define __SYCL_PI_DEVICE_BINARY_TARGET_NVPTX64 "nvptx64" |
#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV32 "spir" |
#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64 "spir64" |
#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA "spir64_fpga" |
#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN "spir64_gen" |
#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_X86_64 "spir64_x86_64" |
#define __SYCL_PI_DEVICE_BINARY_TARGET_UNKNOWN "<unknown>" |
Target identification strings for pi_device_binary_struct.DeviceTargetSpec.
A device type represented by a particular target triple requires specific binary images. We need to map the image type onto the device target triple
#define __SYCL_PI_PROGRAM_METADATA_TAG_REQD_WORK_GROUP_SIZE "@reqd_work_group_size" |
#define __SYCL_PI_PROPERTY_SET_DEVICELIB_REQ_MASK "SYCL/devicelib req mask" |
#define __SYCL_PI_PROPERTY_SET_KERNEL_PARAM_OPT_INFO "SYCL/kernel param opt" |
#define __SYCL_PI_PROPERTY_SET_PROGRAM_METADATA "SYCL/program metadata" |
#define __SYCL_PI_PROPERTY_SET_SPEC_CONST_DEFAULT_VALUES_MAP "SYCL/specialization constants default values" |
#define __SYCL_PI_PROPERTY_SET_SPEC_CONST_MAP "SYCL/specialization constants" |
#define __SYCL_PI_PROPERTY_SET_SYCL_ASSERT_USED "SYCL/assert used" |
#define __SYCL_PI_PROPERTY_SET_SYCL_DEVICE_GLOBALS "SYCL/device globals" |
#define __SYCL_PI_PROPERTY_SET_SYCL_EXPORTED_SYMBOLS "SYCL/exported symbols" |
#define __SYCL_PI_PROPERTY_SET_SYCL_MISC_PROP "SYCL/misc properties" |
#define _PI_CONCAT | ( | a, | |
b | |||
) | _PI_STRING_HELPER(a.b) |
#define _PI_H_VERSION_STRING _PI_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR) |
#define PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT "pi_ext_intel_devicelib_assert" |
using _pi_offload_entry = _pi_offload_entry_struct * |
using pi_bitfield = pi_uint64 |
using pi_buffer_region = pi_buffer_region_struct * |
using pi_command_type = _pi_command_type |
using pi_context = _pi_context * |
using pi_context_info = _pi_context_info |
using pi_context_properties = intptr_t |
using pi_device = _pi_device * |
using pi_device_affinity_domain = pi_bitfield |
using pi_device_binaries = pi_device_binaries_struct * |
using pi_device_binary = pi_device_binary_struct * |
using pi_device_binary_type = uint8_t |
using pi_device_info = _pi_device_info |
using pi_device_partition_property = intptr_t |
using pi_device_type = _pi_device_type |
using pi_event_info = _pi_event_info |
using pi_event_status = _pi_event_status |
using pi_image_desc = _pi_image_desc |
using pi_image_format = _pi_image_format |
using pi_image_info = _pi_image_info |
using pi_image_offset = pi_image_offset_struct * |
using pi_image_region = pi_image_region_struct * |
using pi_kernel = _pi_kernel * |
typedef _pi_kernel_info pi_kernel_info |
using pi_map_flags = pi_bitfield |
using pi_mem_advice = _pi_mem_advice |
using pi_mem_alloc_info = _pi_mem_alloc_info |
using pi_mem_flags = pi_bitfield |
using pi_mem_info = _pi_mem_info |
using pi_mem_properties = pi_bitfield |
using pi_mem_type = _pi_mem_type |
using pi_native_handle = uintptr_t |
using pi_platform = _pi_platform * |
using pi_platform_info = _pi_platform_info |
using pi_plugin = _pi_plugin |
using pi_profiling_info = _pi_profiling_info |
using pi_program = _pi_program * |
using pi_program_info = _pi_program_info |
using pi_queue_info = _pi_queue_info |
using pi_queue_properties = pi_bitfield |
using pi_result = _pi_result |
using pi_sampler = _pi_sampler * |
using pi_sampler_info = _pi_sampler_info |
using pi_sampler_properties = pi_bitfield |
using pi_usm_mem_properties = pi_bitfield |
using pi_usm_type = _pi_usm_type |
enum _pi_command_type |
enum _pi_context_info |
enum _pi_device_info |
enum _pi_device_type : pi_uint64 |
enum _pi_event_info |
enum _pi_event_status |
enum _pi_fp_capabilities |
enum _pi_image_info |
enum _pi_kernel_exec_info |
enum _pi_kernel_info |
enum _pi_mem_advice |
enum _pi_mem_alloc_info |
enum _pi_mem_info |
enum _pi_mem_type |
enum _pi_platform_info |
enum _pi_profiling_info |
enum _pi_program_info |
enum _pi_queue_info |
enum _pi_result |
enum _pi_sampler_info |
enum _pi_usm_capabilities : pi_bitfield |
enum _pi_usm_type |
enum pi_property_type |
pi_result piclProgramCreateWithSource | ( | pi_context | context, |
pi_uint32 | count, | ||
const char ** | strings, | ||
const size_t * | lengths, | ||
pi_program * | ret_program | ||
) |
Definition at line 1303 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, DIE_NO_IMPLEMENTATION, and PI_INVALID_OPERATION.
Referenced by piPluginInit().
pi_result piContextCreate | ( | const pi_context_properties * | properties, |
pi_uint32 | num_devices, | ||
const pi_device * | devices, | ||
void(*)(const char *errinfo, const void *private_info, size_t cb, void *user_data) | pfn_notify, | ||
void * | user_data, | ||
pi_context * | ret_context | ||
) |
Referenced by cl::sycl::detail::context_impl::context_impl(), and piPluginInit().
pi_result piContextGetInfo | ( | pi_context | context, |
pi_context_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 858 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, _pi_context::Devices, cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES, PI_CONTEXT_INFO_DEVICES, PI_CONTEXT_INFO_NUM_DEVICES, PI_CONTEXT_INFO_REFERENCE_COUNT, PI_INVALID_CONTEXT, and PI_SUCCESS.
Referenced by cl::sycl::detail::context_impl::context_impl(), cl::sycl::detail::context_impl::get_info< info::context::atomic_memory_order_capabilities >(), cl::sycl::detail::context_impl::get_info< info::context::atomic_memory_scope_capabilities >(), cl::sycl::detail::createBinaryProgram(), cl::sycl::detail::get_context_info< param >::get(), cl::sycl::detail::get_context_info< info::context::atomic_memory_order_capabilities >::get(), and piPluginInit().
pi_result piContextRelease | ( | pi_context | context | ) |
TODO : Encapsulating accesses (add/remove) for Addr2CmBufferSVM
Definition at line 888 of file pi_esimd_emulator.cpp.
References _pi_context::Addr2CmBufferSVM, _pi_context::Addr2CmBufferSVMLock, _pi_device::CmDevicePtr, _pi_queue::Context, ContextReleaseHelper(), _pi_platform::ContextsMutex, _pi_context::Device, _pi_context::getPlatform(), PI_INVALID_CONTEXT, and PI_SUCCESS.
Referenced by piKernelRelease(), piPluginInit(), and cl::sycl::detail::context_impl::~context_impl().
pi_result piContextRetain | ( | pi_context | context | ) |
Definition at line 878 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, PI_ASSERT, PI_INVALID_CONTEXT, and PI_SUCCESS.
Referenced by cl::sycl::detail::context_impl::context_impl(), cl::sycl::detail::context_impl::get(), cl::sycl::detail::context_impl::getNative(), _pi_kernel::initialize(), piextMemCreateWithNativeHandle(), piextUSMDeviceAlloc(), piextUSMHostAlloc(), piextUSMSharedAlloc(), piPluginInit(), ZeDeviceMemAllocHelper(), and ZeHostMemAllocHelper().
pi_result piDeviceGetInfo | ( | pi_device | device, |
pi_device_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Returns requested info for provided native device Return PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT for PI_DEVICE_INFO_EXTENSIONS query when the device supports native asserts.
Combination of ESIMDEmuPluginDataVersion and ESIMDEmuPluginInterfaceVersion : 0.a.b a : ESIMDEmuPluginInterfaceVersion b : ESIMDEmuPluginDataVersion
TODO : Check
TODO : Check. CM_MAX_1D_SURF_WIDTH from CM_EMU
TODO : Check
TODO : Check. CM_MAX_SAMPLERS_PER_KERNEL from CM_EMU
TODO : Check
TODO : Check. half_type.hpp from CM_EMU
Definition at line 591 of file pi_esimd_emulator.cpp.
References CASE_PI_UNSUPPORTED, _pi_queue::Device, cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, ESIMDEmuPluginDataVersion, ESIMDEmuPluginInterfaceVersion, ESimdEmuVersionString, _pi_device::isSubDevice(), max(), cl::sycl::detail::memcpy(), PI_ASSERT, PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE, PI_DEVICE_AFFINITY_DOMAIN_NUMA, PI_DEVICE_EXEC_CAPABILITIES_KERNEL, PI_DEVICE_EXEC_CAPABILITIES_NATIVE_KERNEL, PI_DEVICE_INFO_ADDRESS_BITS, PI_DEVICE_INFO_ATOMIC_64, PI_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES, PI_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES, PI_DEVICE_INFO_AVAILABLE, PI_DEVICE_INFO_BUILD_ON_SUBDEVICE, PI_DEVICE_INFO_BUILT_IN_KERNELS, PI_DEVICE_INFO_COMPILER_AVAILABLE, PI_DEVICE_INFO_DOUBLE_FP_CONFIG, PI_DEVICE_INFO_DRIVER_VERSION, PI_DEVICE_INFO_ENDIAN_LITTLE, PI_DEVICE_INFO_ERROR_CORRECTION_SUPPORT, PI_DEVICE_INFO_EXECUTION_CAPABILITIES, PI_DEVICE_INFO_EXTENSIONS, PI_DEVICE_INFO_GLOBAL_MEM_CACHE_SIZE, PI_DEVICE_INFO_GLOBAL_MEM_CACHE_TYPE, PI_DEVICE_INFO_GLOBAL_MEM_CACHELINE_SIZE, PI_DEVICE_INFO_GLOBAL_MEM_SIZE, PI_DEVICE_INFO_GPU_EU_COUNT, PI_DEVICE_INFO_GPU_EU_COUNT_PER_SUBSLICE, PI_DEVICE_INFO_GPU_EU_SIMD_WIDTH, PI_DEVICE_INFO_GPU_HW_THREADS_PER_EU, PI_DEVICE_INFO_GPU_SLICES, PI_DEVICE_INFO_GPU_SUBSLICES_PER_SLICE, PI_DEVICE_INFO_HALF_FP_CONFIG, PI_DEVICE_INFO_HOST_UNIFIED_MEMORY, PI_DEVICE_INFO_IL_VERSION, PI_DEVICE_INFO_IMAGE2D_MAX_HEIGHT, PI_DEVICE_INFO_IMAGE2D_MAX_WIDTH, PI_DEVICE_INFO_IMAGE3D_MAX_DEPTH, PI_DEVICE_INFO_IMAGE3D_MAX_HEIGHT, PI_DEVICE_INFO_IMAGE3D_MAX_WIDTH, PI_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE, PI_DEVICE_INFO_IMAGE_MAX_BUFFER_SIZE, PI_DEVICE_INFO_IMAGE_SRGB, PI_DEVICE_INFO_IMAGE_SUPPORT, PI_DEVICE_INFO_LINKER_AVAILABLE, PI_DEVICE_INFO_LOCAL_MEM_SIZE, PI_DEVICE_INFO_LOCAL_MEM_TYPE, PI_DEVICE_INFO_MAX_CLOCK_FREQUENCY, PI_DEVICE_INFO_MAX_COMPUTE_UNITS, PI_DEVICE_INFO_MAX_CONSTANT_ARGS, PI_DEVICE_INFO_MAX_CONSTANT_BUFFER_SIZE, PI_DEVICE_INFO_MAX_MEM_ALLOC_SIZE, PI_DEVICE_INFO_MAX_MEM_BANDWIDTH, PI_DEVICE_INFO_MAX_NUM_SUB_GROUPS, PI_DEVICE_INFO_MAX_PARAMETER_SIZE, PI_DEVICE_INFO_MAX_READ_IMAGE_ARGS, PI_DEVICE_INFO_MAX_SAMPLERS, PI_DEVICE_INFO_MAX_WORK_GROUP_SIZE, PI_DEVICE_INFO_MAX_WORK_ITEM_DIMENSIONS, PI_DEVICE_INFO_MAX_WORK_ITEM_SIZES, PI_DEVICE_INFO_MAX_WRITE_IMAGE_ARGS, PI_DEVICE_INFO_MEM_BASE_ADDR_ALIGN, PI_DEVICE_INFO_NAME, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_CHAR, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_DOUBLE, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_FLOAT, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_HALF, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_INT, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_LONG, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_SHORT, PI_DEVICE_INFO_OPENCL_C_VERSION, PI_DEVICE_INFO_PARENT_DEVICE, PI_DEVICE_INFO_PARTITION_AFFINITY_DOMAIN, PI_DEVICE_INFO_PARTITION_MAX_SUB_DEVICES, PI_DEVICE_INFO_PARTITION_PROPERTIES, PI_DEVICE_INFO_PARTITION_TYPE, PI_DEVICE_INFO_PCI_ADDRESS, PI_DEVICE_INFO_PLATFORM, PI_DEVICE_INFO_PREFERRED_INTEROP_USER_SYNC, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_CHAR, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_DOUBLE, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_FLOAT, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_HALF, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_INT, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_LONG, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_SHORT, PI_DEVICE_INFO_PRINTF_BUFFER_SIZE, PI_DEVICE_INFO_PROFILE, PI_DEVICE_INFO_PROFILING_TIMER_RESOLUTION, PI_DEVICE_INFO_QUEUE_PROPERTIES, PI_DEVICE_INFO_REFERENCE_COUNT, PI_DEVICE_INFO_SINGLE_FP_CONFIG, PI_DEVICE_INFO_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS, PI_DEVICE_INFO_SUB_GROUP_SIZES_INTEL, PI_DEVICE_INFO_TYPE, PI_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT, PI_DEVICE_INFO_USM_DEVICE_SUPPORT, PI_DEVICE_INFO_USM_HOST_SUPPORT, PI_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT, PI_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT, PI_DEVICE_INFO_UUID, PI_DEVICE_INFO_VENDOR, PI_DEVICE_INFO_VENDOR_ID, PI_DEVICE_INFO_VERSION, PI_DEVICE_LOCAL_MEM_TYPE_LOCAL, PI_DEVICE_MEM_CACHE_TYPE_READ_WRITE_CACHE, PI_DEVICE_PARTITION_BY_AFFINITY_DOMAIN, PI_DEVICE_TYPE_ACC, PI_DEVICE_TYPE_CPU, PI_DEVICE_TYPE_GPU, PI_EXT_ONEAPI_DEVICE_INFO_MAX_GLOBAL_WORK_GROUPS, PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_1D, PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_2D, PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_3D, PI_FALSE, PI_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT, PI_FP_DENORM, PI_FP_FMA, PI_FP_INF_NAN, PI_FP_ROUND_TO_INF, PI_FP_ROUND_TO_NEAREST, PI_FP_ROUND_TO_ZERO, PI_INVALID_DEVICE, PI_INVALID_VALUE, PI_QUEUE_ON_DEVICE, PI_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, PI_QUEUE_PROFILING_ENABLE, PI_SUCCESS, PI_USM_ACCESS, PI_USM_ATOMIC_ACCESS, PI_USM_CONCURRENT_ACCESS, PI_USM_CONCURRENT_ATOMIC_ACCESS, _pi_device::Platform, _pi_platform::populateDeviceCacheIfNeeded(), _pi_device::RootDevice, _pi_device::SubDevices, cl::sycl::detail::totalSize(), _pi_device::VersionStr, ZE_CALL, ZE_SUPPORTED_EXTENSIONS, _pi_device::ZeDevice, _pi_device::ZeDeviceCacheProperties, _pi_device::ZeDeviceComputeProperties, _pi_device::ZeDeviceImageProperties, _pi_device::ZeDeviceMemoryAccessProperties, _pi_device::ZeDeviceMemoryProperties, _pi_device::ZeDeviceModuleProperties, _pi_device::ZeDeviceProperties, _pi_platform::ZeDriverApiVersion, and _pi_platform::ZeDriverVersion.
Referenced by cl::sycl::detail::applyAllowList(), cl::sycl::detail::filterDeviceFilter(), cl::sycl::detail::get_device_info< T, param >::get(), cl::sycl::detail::get_device_info< platform, param >::get(), cl::sycl::detail::get_device_info_string< param >::get(), cl::sycl::detail::get_device_info< id< 3 >, param >::get(), cl::sycl::detail::get_device_info< std::vector< info::fp_config >, param >::get(), cl::sycl::detail::get_device_info< std::vector< info::fp_config >, info::device::single_fp_config >::get(), cl::sycl::detail::get_device_info< bool, info::device::queue_profiling >::get(), cl::sycl::detail::get_device_info< std::vector< memory_order >, info::device::atomic_memory_order_capabilities >::get(), cl::sycl::detail::get_device_info< std::vector< memory_scope >, info::device::atomic_memory_scope_capabilities >::get(), cl::sycl::detail::get_device_info< std::vector< info::execution_capability >, info::device::execution_capabilities >::get(), cl::sycl::detail::get_device_info< std::vector< info::partition_property >, info::device::partition_properties >::get(), cl::sycl::detail::get_device_info< std::vector< info::partition_affinity_domain >, info::device::partition_affinity_domains >::get(), cl::sycl::detail::get_device_info< info::partition_affinity_domain, info::device::partition_type_affinity_domain >::get(), cl::sycl::detail::get_device_info< info::partition_property, info::device::partition_type_property >::get(), cl::sycl::detail::get_device_info< std::vector< size_t >, info::device::sub_group_sizes >::get(), cl::sycl::detail::get_device_info< id< 3 >, info::device::max_work_item_sizes >::get(), cl::sycl::detail::get_device_info< id< 1 >, info::device::ext_oneapi_max_work_groups_1d >::get(), cl::sycl::detail::get_device_info< id< 2 >, info::device::ext_oneapi_max_work_groups_2d >::get(), cl::sycl::detail::get_device_info< id< 3 >, info::device::ext_oneapi_max_work_groups_3d >::get(), cl::sycl::detail::get_device_info< device, info::device::parent_device >::get(), cl::sycl::detail::get_device_info< bool, info::device::usm_device_allocations >::get(), cl::sycl::detail::get_device_info< bool, info::device::usm_host_allocations >::get(), cl::sycl::detail::get_device_info< bool, info::device::usm_shared_allocations >::get(), cl::sycl::detail::get_device_info< bool, info::device::usm_restricted_shared_allocations >::get(), cl::sycl::detail::get_device_info< bool, info::device::usm_system_allocations >::get(), cl::sycl::detail::get_device_info< bool, info::device::ext_intel_mem_channel >::get(), cl::sycl::detail::ProgramManager::getBuiltPIProgram(), cl::sycl::detail::platform_impl::getPlatformFromPiDevice(), cl::sycl::detail::ProgramManager::getProgramBuildLog(), cl::sycl::detail::enqueue_kernel_launch::handleInvalidValue(), cl::sycl::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), cl::sycl::detail::enqueue_kernel_launch::handleInvalidWorkItemSize(), cl::sycl::detail::device_impl::has(), and piPluginInit().
pi_result piDevicePartition | ( | pi_device | device, |
const pi_device_partition_property * | properties, | ||
pi_uint32 | num_devices, | ||
pi_device * | out_devices, | ||
pi_uint32 * | out_num_devices | ||
) |
Definition at line 813 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_CALL, PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE, PI_DEVICE_AFFINITY_DOMAIN_NUMA, PI_DEVICE_PARTITION_BY_AFFINITY_DOMAIN, PI_INVALID_DEVICE, PI_INVALID_VALUE, PI_SUCCESS, piDeviceRetain(), _pi_device::Platform, _pi_platform::populateDeviceCacheIfNeeded(), _pi_queue::Properties, and _pi_device::SubDevices.
Referenced by cl::sycl::detail::device_impl::create_sub_devices(), and piPluginInit().
Definition at line 581 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, cl::sycl::detail::pi::die(), _pi_device::isSubDevice(), PI_ASSERT, PI_INVALID_DEVICE, and PI_SUCCESS.
Referenced by piPluginInit(), and cl::sycl::detail::device_impl::~device_impl().
Definition at line 571 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, _pi_device::isSubDevice(), PI_ASSERT, PI_INVALID_DEVICE, and PI_SUCCESS.
Referenced by cl::sycl::detail::device_impl::get(), cl::sycl::detail::device_impl::getNative(), piDevicePartition(), and piPluginInit().
pi_result piDevicesGet | ( | pi_platform | platform, |
pi_device_type | device_type, | ||
pi_uint32 | num_entries, | ||
pi_device * | devices, | ||
pi_uint32 * | num_devices | ||
) |
Runtime queries number of devices
No GPU entry to fill 'Devices' array
Definition at line 479 of file pi_esimd_emulator.cpp.
References PI_ASSERT, PI_DEVICE_TYPE_ACC, PI_DEVICE_TYPE_ALL, PI_DEVICE_TYPE_CPU, PI_DEVICE_TYPE_DEFAULT, PI_DEVICE_TYPE_GPU, PI_INVALID_DEVICE, PI_INVALID_PLATFORM, PI_INVALID_VALUE, PI_SUCCESS, _pi_platform::PiDeviceCache, _pi_platform::PiDevicesCache, _pi_platform::populateDeviceCacheIfNeeded(), and PrintPiTrace.
Referenced by cl::sycl::detail::platform_impl::get_devices(), and piPluginInit().
pi_result piEnqueueEventsWait | ( | pi_queue | command_queue, |
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1485 of file pi_esimd_emulator.cpp.
References _pi_queue::CommandListMap, _pi_queue::Context, _pi_ze_event_list_t::createAndRetainPiZeEventList(), createEventAndAssociateQueue(), DIE_NO_IMPLEMENTATION, _pi_queue::executeCommandList(), _pi_context::getAvailableCommandList(), _pi_queue::LastCommandEvent, PI_ASSERT, PI_COMMAND_TYPE_USER, PI_INVALID_EVENT, PI_INVALID_QUEUE, PI_INVALID_VALUE, PI_SUCCESS, _pi_queue::resetCommandLists(), _pi_queue::synchronize(), and ZE_CALL.
Referenced by cl::sycl::detail::MemoryManager::copy_usm(), cl::sycl::detail::MemoryManager::fill_usm(), piPluginInit(), and cl::sycl::detail::Command::waitForEvents().
pi_result piEnqueueEventsWaitWithBarrier | ( | pi_queue | command_queue, |
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1490 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, _pi_ze_event_list_t::createAndRetainPiZeEventList(), createEventAndAssociateQueue(), DIE_NO_IMPLEMENTATION, _pi_queue::executeCommandList(), _pi_context::getAvailableCommandList(), PI_ASSERT, PI_COMMAND_TYPE_USER, PI_INVALID_EVENT, PI_INVALID_QUEUE, PI_SUCCESS, and ZE_CALL.
Referenced by piPluginInit().
pi_result piEnqueueKernelLaunch | ( | pi_queue | queue, |
pi_kernel | kernel, | ||
pi_uint32 | work_dim, | ||
const size_t * | global_work_offset, | ||
const size_t * | global_work_size, | ||
const size_t * | local_work_size, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1759 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, _pi_queue::CaptureIndirectAccesses(), _pi_queue::Context, _pi_platform::ContextsMutex, _pi_ze_event_list_t::createAndRetainPiZeEventList(), createEventAndAssociateQueue(), _pi_queue::Device, DIE_NO_IMPLEMENTATION, _pi_queue::executeCommandList(), _pi_context::getAvailableCommandList(), InvokeImpl< NDims >::invoke(), isNull(), _pi_queue::KernelsToBeSubmitted, _pi_kernel::PendingArguments, PI_ASSERT, PI_CALL, PI_COMMAND_TYPE_NDRANGE_KERNEL, PI_INVALID_EVENT, PI_INVALID_KERNEL, PI_INVALID_QUEUE, PI_INVALID_VALUE, PI_INVALID_WORK_DIMENSION, PI_INVALID_WORK_GROUP_SIZE, PI_SUCCESS, PiDriverGlobalOffsetExtensionFound, _pi_device::Platform, printZeEventList(), _pi_kernel::Program, _pi_event::release(), _pi_kernel::retain(), ZE_CALL, and _pi_kernel::ZeKernel.
Referenced by piPluginInit(), and cl::sycl::detail::SetKernelParamsAndLaunch().
pi_result piEnqueueMemBufferCopy | ( | pi_queue | command_queue, |
pi_mem | src_buffer, | ||
pi_mem | dst_buffer, | ||
size_t | src_offset, | ||
size_t | dst_offset, | ||
size_t | size, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1570 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, DIE_NO_IMPLEMENTATION, enqueueMemCopyHelper(), _pi_mem::isImage(), PI_ASSERT, PI_CALL, PI_COMMAND_TYPE_MEM_BUFFER_COPY, PI_INVALID_MEM_OBJECT, PI_INVALID_QUEUE, _pi_mem::read_only, and _pi_mem::write_only.
Referenced by cl::sycl::detail::copyD2D(), and piPluginInit().
pi_result piEnqueueMemBufferCopyRect | ( | pi_queue | command_queue, |
pi_mem | src_buffer, | ||
pi_mem | dst_buffer, | ||
pi_buff_rect_offset | src_origin, | ||
pi_buff_rect_offset | dst_origin, | ||
pi_buff_rect_region | region, | ||
size_t | src_row_pitch, | ||
size_t | src_slice_pitch, | ||
size_t | dst_row_pitch, | ||
size_t | dst_slice_pitch, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1576 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, DIE_NO_IMPLEMENTATION, enqueueMemCopyRectHelper(), _pi_mem::isImage(), PI_ASSERT, PI_CALL, PI_COMMAND_TYPE_MEM_BUFFER_COPY_RECT, PI_INVALID_MEM_OBJECT, PI_INVALID_QUEUE, _pi_mem::read_only, and _pi_mem::write_only.
Referenced by cl::sycl::detail::copyD2D(), and piPluginInit().
pi_result piEnqueueMemBufferFill | ( | pi_queue | command_queue, |
pi_mem | buffer, | ||
const void * | pattern, | ||
size_t | pattern_size, | ||
size_t | offset, | ||
size_t | size, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1584 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, DIE_NO_IMPLEMENTATION, enqueueMemFillHelper(), _pi_mem::getZeHandle(), PI_ASSERT, PI_CALL, PI_COMMAND_TYPE_MEM_BUFFER_FILL, PI_INVALID_MEM_OBJECT, PI_INVALID_QUEUE, and _pi_mem::write_only.
Referenced by cl::sycl::detail::MemoryManager::fill(), and piPluginInit().
pi_result piEnqueueMemBufferMap | ( | pi_queue | command_queue, |
pi_mem | buffer, | ||
pi_bool | blocking_map, | ||
pi_map_flags | map_flags, | ||
size_t | offset, | ||
size_t | size, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event, | ||
void ** | ret_map | ||
) |
Definition at line 1590 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, _pi_queue::CommandListMap, _pi_queue::Context, _pi_ze_event_list_t::createAndRetainPiZeEventList(), createEventAndAssociateQueue(), _pi_queue::Device, _pi_queue::executeCommandList(), _pi_context::getAvailableCommandList(), _pi_mem::isImage(), _pi_queue::isInOrderQueue(), _pi_queue::LastCommandEvent, _pi_mem::MapHostPtr, _pi_mem::Mappings, _pi_mem::MappingsMutex, cl::sycl::detail::memcpy(), PI_ASSERT, PI_CALL, PI_COMMAND_TYPE_MEM_BUFFER_MAP, PI_INVALID_EVENT, PI_INVALID_MEM_OBJECT, PI_INVALID_OPERATION, PI_INVALID_QUEUE, PI_INVALID_VALUE, PI_MAP_READ, PI_MAP_WRITE, PI_MAP_WRITE_INVALIDATE_REGION, PI_SUCCESS, piEventRetain(), piEventsWait(), PrintPiTrace, _pi_mem::read_only, _pi_mem::read_write, _pi_event::release(), _pi_mem::unknown, _pi_mem::write_only, ZE_CALL, and ZeHostMemAllocHelper().
Referenced by cl::sycl::detail::memBufferMapHelper(), and piPluginInit().
pi_result piEnqueueMemBufferRead | ( | pi_queue | queue, |
pi_mem | buffer, | ||
pi_bool | blocking_read, | ||
size_t | offset, | ||
size_t | size, | ||
void * | ptr, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
TODO : Support Blocked read, 'Queue' handling
Definition at line 1495 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, _pi_queue::Device, enqueueMemCopyHelper(), _pi_mem::getZeHandle(), _pi_buffer::MapHostPtr, cl::sycl::detail::memcpy(), PI_ASSERT, PI_CALL, PI_COMMAND_TYPE_MEM_BUFFER_READ, PI_INVALID_EVENT_WAIT_LIST, PI_INVALID_MEM_OBJECT, PI_INVALID_QUEUE, PI_SUCCESS, _pi_mem::read_only, cm_surface_ptr_t::RegularBufPtr, _pi_event::release(), _pi_mem::SurfacePtr, cm_surface_ptr_t::tag, cm_surface_ptr_t::TypeRegularBuffer, and cm_surface_ptr_t::TypeUserProvidedBuffer.
Referenced by cl::sycl::detail::copyD2H(), and piPluginInit().
pi_result piEnqueueMemBufferReadRect | ( | pi_queue | command_queue, |
pi_mem | buffer, | ||
pi_bool | blocking_read, | ||
pi_buff_rect_offset | buffer_offset, | ||
pi_buff_rect_offset | host_offset, | ||
pi_buff_rect_region | region, | ||
size_t | buffer_row_pitch, | ||
size_t | buffer_slice_pitch, | ||
size_t | host_row_pitch, | ||
size_t | host_slice_pitch, | ||
void * | ptr, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1548 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, DIE_NO_IMPLEMENTATION, enqueueMemCopyRectHelper(), _pi_mem::getZeHandle(), PI_ASSERT, PI_CALL, PI_COMMAND_TYPE_MEM_BUFFER_READ_RECT, PI_INVALID_MEM_OBJECT, PI_INVALID_QUEUE, and _pi_mem::read_only.
Referenced by cl::sycl::detail::copyD2H(), and piPluginInit().
pi_result piEnqueueMemBufferWrite | ( | pi_queue | command_queue, |
pi_mem | buffer, | ||
pi_bool | blocking_write, | ||
size_t | offset, | ||
size_t | size, | ||
const void * | ptr, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1556 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, DIE_NO_IMPLEMENTATION, enqueueMemCopyHelper(), _pi_mem::getZeHandle(), PI_ASSERT, PI_CALL, PI_COMMAND_TYPE_MEM_BUFFER_WRITE, PI_INVALID_MEM_OBJECT, PI_INVALID_QUEUE, and _pi_mem::write_only.
Referenced by cl::sycl::detail::copyH2D(), and piPluginInit().
pi_result piEnqueueMemBufferWriteRect | ( | pi_queue | command_queue, |
pi_mem | buffer, | ||
pi_bool | blocking_write, | ||
pi_buff_rect_offset | buffer_offset, | ||
pi_buff_rect_offset | host_offset, | ||
pi_buff_rect_region | region, | ||
size_t | buffer_row_pitch, | ||
size_t | buffer_slice_pitch, | ||
size_t | host_row_pitch, | ||
size_t | host_slice_pitch, | ||
const void * | ptr, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1562 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, DIE_NO_IMPLEMENTATION, enqueueMemCopyRectHelper(), _pi_mem::getZeHandle(), PI_ASSERT, PI_CALL, PI_COMMAND_TYPE_MEM_BUFFER_WRITE_RECT, PI_INVALID_MEM_OBJECT, PI_INVALID_QUEUE, and _pi_mem::write_only.
Referenced by cl::sycl::detail::copyH2D(), and piPluginInit().
pi_result piEnqueueMemImageCopy | ( | pi_queue | command_queue, |
pi_mem | src_image, | ||
pi_mem | dst_image, | ||
pi_image_offset | src_origin, | ||
pi_image_offset | dst_origin, | ||
pi_image_region | region, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1741 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, enqueueMemImageCommandHelper(), PI_ASSERT, PI_COMMAND_TYPE_IMAGE_COPY, and PI_INVALID_QUEUE.
Referenced by cl::sycl::detail::copyD2D(), and piPluginInit().
pi_result piEnqueueMemImageFill | ( | pi_queue | command_queue, |
pi_mem | image, | ||
const void * | fill_color, | ||
const size_t * | origin, | ||
const size_t * | region, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1747 of file pi_esimd_emulator.cpp.
References cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, PI_ASSERT, and PI_INVALID_QUEUE.
Referenced by cl::sycl::detail::MemoryManager::fill(), and piPluginInit().
pi_result piEnqueueMemImageRead | ( | pi_queue | command_queue, |
pi_mem | image, | ||
pi_bool | blocking_read, | ||
pi_image_offset | origin, | ||
pi_image_region | region, | ||
size_t | row_pitch, | ||
size_t | slice_pitch, | ||
void * | ptr, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
TODO : Support Blocked read, 'Queue' handling
Definition at line 1678 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, enqueueMemImageCommandHelper(), pi_image_region_struct::height, _pi_mem::MapHostPtr, cl::sycl::detail::memcpy(), PI_ASSERT, PI_COMMAND_TYPE_IMAGE_READ, PI_INVALID_MEM_OBJECT, PI_INVALID_QUEUE, PI_SUCCESS, cm_surface_ptr_t::RegularImgPtr, _pi_event::release(), _pi_mem::SurfacePtr, cm_surface_ptr_t::tag, cm_surface_ptr_t::TypeRegularImage, cm_surface_ptr_t::TypeUserProvidedImage, pi_image_offset_struct::x, pi_image_offset_struct::y, and pi_image_offset_struct::z.
Referenced by piPluginInit().
pi_result piEnqueueMemImageWrite | ( | pi_queue | command_queue, |
pi_mem | image, | ||
pi_bool | blocking_write, | ||
pi_image_offset | origin, | ||
pi_image_region | region, | ||
size_t | input_row_pitch, | ||
size_t | input_slice_pitch, | ||
const void * | ptr, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1735 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, enqueueMemImageCommandHelper(), PI_ASSERT, PI_COMMAND_TYPE_IMAGE_WRITE, and PI_INVALID_QUEUE.
Referenced by piPluginInit().
pi_result piEnqueueMemUnmap | ( | pi_queue | command_queue, |
pi_mem | memobj, | ||
void * | mapped_ptr, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1636 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, _pi_queue::CommandListMap, _pi_queue::Context, _pi_ze_event_list_t::createAndRetainPiZeEventList(), createEventAndAssociateQueue(), _pi_queue::Device, _pi_queue::executeCommandList(), _pi_context::getAvailableCommandList(), _pi_mem::isImage(), _pi_queue::isInOrderQueue(), _pi_queue::LastCommandEvent, _pi_mem::Mappings, _pi_mem::MappingsMutex, cl::sycl::detail::memcpy(), _pi_buffer::Mapping::Offset, PI_ASSERT, PI_CALL, PI_COMMAND_TYPE_MEM_BUFFER_UNMAP, PI_INVALID_EVENT, PI_INVALID_MEM_OBJECT, PI_INVALID_QUEUE, PI_INVALID_VALUE, PI_SUCCESS, piEventRetain(), piEventsWait(), PrintPiTrace, _pi_event::release(), _pi_buffer::Mapping::Size, _pi_mem::write_only, and ZE_CALL.
Referenced by cl::sycl::detail::memUnmapHelper(), and piPluginInit().
pi_result piEnqueueNativeKernel | ( | pi_queue | queue, |
void(*)(void *) | user_func, | ||
void * | args, | ||
size_t | cb_args, | ||
pi_uint32 | num_mem_objects, | ||
const pi_mem * | mem_list, | ||
const void ** | args_mem_loc, | ||
pi_uint32 | num_events_in_wait_list, | ||
const pi_event * | event_wait_list, | ||
pi_event * | event | ||
) |
Definition at line 1829 of file pi_esimd_emulator.cpp.
References cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, PI_ASSERT, and PI_INVALID_QUEUE.
Referenced by piPluginInit().
pi_result piEventCreate | ( | pi_context | context, |
pi_event * | ret_event | ||
) |
Definition at line 1385 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, DIE_NO_IMPLEMENTATION, EventCreate(), and PI_INVALID_OPERATION.
Referenced by piPluginInit().
pi_result piEventGetInfo | ( | pi_event | event, |
pi_event_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 1387 of file pi_esimd_emulator.cpp.
References _pi_event::CommandType, _pi_event::Completed, _pi_event::Context, DIE_NO_IMPLEMENTATION, _pi_queue::executeOpenCommandListWithEvent(), _pi_event::HostVisibleEvent, PI_ASSERT, PI_EVENT_INFO_COMMAND_EXECUTION_STATUS, PI_EVENT_INFO_COMMAND_QUEUE, PI_EVENT_INFO_COMMAND_TYPE, PI_EVENT_INFO_CONTEXT, PI_EVENT_INFO_REFERENCE_COUNT, PI_INVALID_EVENT, PI_INVALID_VALUE, PI_SUCCESS, _pi_event::Queue, and ZE_CALL_NOCHECK.
Referenced by cl::sycl::detail::event_impl::event_impl(), cl::sycl::detail::event_impl::flushIfNeeded(), cl::sycl::detail::get_event_info< Param >::get(), and piPluginInit().
pi_result piEventGetProfilingInfo | ( | pi_event | event, |
pi_profiling_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 1391 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, _pi_event::Context, _pi_queue::Device, _pi_context::Devices, PI_ASSERT, PI_INVALID_EVENT, PI_INVALID_VALUE, PI_PROFILING_INFO_COMMAND_END, PI_PROFILING_INFO_COMMAND_QUEUED, PI_PROFILING_INFO_COMMAND_START, PI_PROFILING_INFO_COMMAND_SUBMIT, PI_PROFILING_INFO_NOT_AVAILABLE, PI_QUEUE_PROFILING_ENABLE, PI_SUCCESS, PrintPiTrace, _pi_queue::Properties, _pi_event::Queue, ZE_CALL, _pi_device::ZeDeviceProperties, and _pi_event::ZeEvent.
Referenced by cl::sycl::detail::get_event_profiling_info< Param >::get(), and piPluginInit().
Definition at line 1442 of file pi_esimd_emulator.cpp.
References _pi_event::CmEventPtr, EventRelease(), _pi_event::IsDummyEvent, _pi_event::OwnerQueue, PI_INVALID_EVENT, and PI_SUCCESS.
Referenced by _pi_queue::executeCommandList(), piPluginInit(), and cl::sycl::detail::event_impl::~event_impl().
Definition at line 1432 of file pi_esimd_emulator.cpp.
References PI_INVALID_EVENT, and PI_SUCCESS.
Referenced by cl::sycl::detail::MemoryManager::allocateInteropMemObject(), _pi_ze_event_list_t::createAndRetainPiZeEventList(), createEventAndAssociateQueue(), _pi_queue::executeCommandList(), cl::sycl::detail::event_impl::get(), cl::sycl::detail::event_impl::getNative(), cl::sycl::detail::make_event(), piEnqueueMemBufferMap(), piEnqueueMemUnmap(), and piPluginInit().
pi_result piEventSetCallback | ( | pi_event | event, |
pi_int32 | command_exec_callback_type, | ||
void(*)(pi_event event, pi_int32 event_command_status, void *user_data) | pfn_notify, | ||
void * | user_data | ||
) |
Referenced by piPluginInit().
Definition at line 1430 of file pi_esimd_emulator.cpp.
References cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, and PI_SUCCESS.
Referenced by piPluginInit().
Definition at line 1407 of file pi_esimd_emulator.cpp.
References _pi_event::cleanup(), _pi_event::CmEventPtr, cl::sycl::detail::pi::die(), _pi_event::HostVisibleEvent, PI_INVALID_EVENT, PI_OUT_OF_RESOURCES, PI_SUCCESS, _pi_event::Queue, and ZE_CALL.
Referenced by cl::sycl::detail::memUnmapHelper(), piEnqueueMemBufferMap(), piEnqueueMemUnmap(), piPluginInit(), cl::sycl::detail::waitForEvents(), cl::sycl::detail::Command::waitForEvents(), and cl::sycl::detail::event_impl::waitInternal().
pi_result piextContextCreateWithNativeHandle | ( | pi_native_handle | nativeHandle, |
pi_uint32 | numDevices, | ||
const pi_device * | devices, | ||
bool | pluginOwnsNativeHandle, | ||
pi_context * | context | ||
) |
Creates PI context object from a native handle.
NOTE: The created PI object takes ownership of the native handle. NOTE: The number of devices and the list of devices is needed for Level Zero backend because there is no possilibity to query this information from context handle for Level Zero. If backend has API to query a list of devices from the context native handle then these parameters are ignored.
nativeHandle | is the native handle to create PI context from. |
numDevices | is the number of devices in the context. Parameter is ignored if number of devices can be queried from the context native handle for a backend. |
devices | is the list of devices in the context. Parameter is ignored if devices can be queried from the context native handle for a backend. |
pluginOwnsNativeHandle | Indicates whether the created PI object should take ownership of the native handle. |
context | is the PI context created from the native handle. |
Definition at line 872 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_DEVICE, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, and PI_SUCCESS.
Referenced by cl::sycl::ext::oneapi::level_zero::make_context(), cl::sycl::detail::make_context(), and piPluginInit().
pi_result piextContextGetNativeHandle | ( | pi_context | context, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI context object.
context | is the PI context to get the native handle of. |
nativeHandle | is the native handle of context. |
Definition at line 868 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_CONTEXT, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), and _pi_context::ZeContext.
Referenced by cl::sycl::detail::context_impl::getNative(), and piPluginInit().
pi_result piextContextSetExtendedDeleter | ( | pi_context | context, |
pi_context_extended_deleter | func, | ||
void * | user_data | ||
) |
Definition at line 863 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, and PI_SUCCESS.
Referenced by cl::sycl::detail::pi::contextSetExtendedDeleter(), and piPluginInit().
pi_result piextDeviceCreateWithNativeHandle | ( | pi_native_handle | nativeHandle, |
pi_platform | platform, | ||
pi_device * | device | ||
) |
Creates PI device object from a native handle.
NOTE: The created PI object takes ownership of the native handle.
nativeHandle | is the native handle to create PI device from. |
platform | is the platform of the device (optional). |
device | is the PI device created from the native handle. |
Definition at line 822 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_DEVICE, PI_INVALID_PLATFORM, PI_INVALID_VALUE, PI_SUCCESS, PiPlatformCachePopulated, PiPlatformsCache, and PiPlatformsCacheMutex.
Referenced by cl::sycl::ext::oneapi::level_zero::make_device(), cl::sycl::detail::make_device(), and piPluginInit().
pi_result piextDeviceGetNativeHandle | ( | pi_device | device, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI device object.
device | is the PI device to get the native handle of. |
nativeHandle | is the native handle of device. |
Definition at line 818 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_DEVICE, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), and _pi_device::ZeDevice.
Referenced by cl::sycl::detail::device_impl::getNative(), and piPluginInit().
pi_result piextDeviceSelectBinary | ( | pi_device | device, |
pi_device_binary * | binaries, | ||
pi_uint32 | num_binaries, | ||
pi_uint32 * | selected_binary_ind | ||
) |
Selects the most appropriate device binary based on runtime information and the IR characteristics.
TODO : Support multiple images and enable selection algorithm for the images
Definition at line 1947 of file pi_esimd_emulator.cpp.
References __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64, __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA, __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN, __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_X86_64, _pi_queue::Device, max(), PI_ASSERT, PI_INVALID_BINARY, PI_INVALID_DEVICE, PI_INVALID_VALUE, PI_SUCCESS, and PrintPiTrace.
Referenced by cl::sycl::detail::compatibleWithDevice(), and piPluginInit().
pi_result piextEventCreateWithNativeHandle | ( | pi_native_handle | nativeHandle, |
pi_context | context, | ||
bool | ownNativeHandle, | ||
pi_event * | event | ||
) |
Creates PI event object from a native handle.
NOTE: The created PI object takes ownership of the native handle.
nativeHandle | is the native handle to create PI event from. |
context | is the corresponding PI context |
pluginOwnsNativeHandle | Indicates whether the created PI object should take ownership of the native handle. |
event | is the PI event created from the native handle. |
Definition at line 1467 of file pi_esimd_emulator.cpp.
References _pi_event::CleanedUp, _pi_queue::Context, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_COMMAND_TYPE_USER, PI_INVALID_CONTEXT, PI_INVALID_EVENT, PI_INVALID_VALUE, and PI_SUCCESS.
Referenced by cl::sycl::detail::make_event(), and piPluginInit().
pi_result piextEventGetNativeHandle | ( | pi_event | event, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI event object.
event | is the PI event to get the native handle of. |
nativeHandle | is the native handle of event. |
Definition at line 1463 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, _pi_queue::executeOpenCommandListWithEvent(), PI_ASSERT, PI_INVALID_EVENT, PI_INVALID_VALUE, PI_SUCCESS, _pi_event::Queue, and _pi_event::ZeEvent.
Referenced by cl::sycl::detail::event_impl::getNative(), and piPluginInit().
pi_result piextGetDeviceFunctionPointer | ( | pi_device | device, |
pi_program | program, | ||
const char * | function_name, | ||
pi_uint64 * | function_pointer_ret | ||
) |
Retrieves a device function pointer to a user-defined function.
function_name
. function_pointer_ret
is set to 0 if query failed.program
must be built before calling this API. device
must present in the list of devices returned by get_device
method for program
.If a fallback method determines the function exists but the address is not available PI_FUNCTION_ADDRESS_IS_NOT_AVAILABLE is returned. If the address does not exist PI_INVALID_KERNEL_NAME is returned.
Definition at line 1835 of file pi_esimd_emulator.cpp.
References clGetDeviceFunctionPointerName, _pi_queue::Device, DIE_NO_IMPLEMENTATION, _pi_program::Exe, getExtFuncFromContext(), is_in_separated_string(), PI_ASSERT, PI_CALL, PI_FUNCTION_ADDRESS_IS_NOT_AVAILABLE, PI_INVALID_KERNEL_NAME, PI_INVALID_PROGRAM, PI_INVALID_PROGRAM_EXECUTABLE, PI_PROGRAM_INFO_KERNEL_NAMES, PI_SUCCESS, piProgramGetInfo(), _pi_program::State, ZE_CALL_NOCHECK, and _pi_program::ZeModule.
Referenced by cl::sycl::detail::getDeviceFunctionPointerImpl(), cl::sycl::detail::program_impl::has_kernel(), and piPluginInit().
pi_result piextKernelCreateWithNativeHandle | ( | pi_native_handle | nativeHandle, |
pi_context | context, | ||
pi_program | program, | ||
bool | pluginOwnsNativeHandle, | ||
pi_kernel * | kernel | ||
) |
Creates PI kernel object from a native handle.
NOTE: The created PI object takes ownership of the native handle.
nativeHandle | is the native handle to create PI kernel from. |
context | is the PI context of the kernel. |
program | is the PI program of the kernel. |
pluginOwnsNativeHandle | Indicates whether the created PI object should take ownership of the native handle. |
kernel | is the PI kernel created from the native handle. |
Definition at line 1820 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_CALL, PI_INVALID_CONTEXT, PI_INVALID_KERNEL, PI_INVALID_PROGRAM, PI_INVALID_VALUE, and PI_SUCCESS.
Referenced by cl::sycl::detail::make_kernel(), and piPluginInit().
pi_result piextKernelGetNativeHandle | ( | pi_kernel | kernel, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI kernel object.
kernel | is the PI kernel to get the native handle of. |
nativeHandle | is the native handle of kernel. |
Definition at line 1825 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_KERNEL, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), and _pi_kernel::ZeKernel.
Referenced by cl::sycl::detail::kernel_impl::getNative(), and piPluginInit().
pi_result piextKernelSetArgMemObj | ( | pi_kernel | kernel, |
pi_uint32 | arg_index, | ||
const pi_mem * | arg_value | ||
) |
Definition at line 1357 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, _pi_kernel::PendingArguments, PI_ASSERT, PI_INVALID_KERNEL, PI_SUCCESS, and _pi_mem::read_write.
Referenced by piPluginInit(), and cl::sycl::detail::SetKernelParamsAndLaunch().
pi_result piextKernelSetArgPointer | ( | pi_kernel | kernel, |
pi_uint32 | arg_index, | ||
size_t | arg_size, | ||
const void * | arg_value | ||
) |
Sets up pointer arguments for CL kernels.
An extra indirection is required due to CL argument conventions.
kernel | is the kernel to be launched |
arg_index | is the index of the kernel argument |
arg_size | is the size in bytes of the argument (ignored in CL) |
arg_value | is the pointer argument |
Definition at line 1913 of file pi_esimd_emulator.cpp.
References clSetKernelArgMemPointerName, DIE_NO_IMPLEMENTATION, getExtFuncFromContext(), PI_CALL, PI_SUCCESS, and piKernelSetArg().
Referenced by piPluginInit(), and cl::sycl::detail::SetKernelParamsAndLaunch().
pi_result piextKernelSetArgSampler | ( | pi_kernel | kernel, |
pi_uint32 | arg_index, | ||
const pi_sampler * | arg_value | ||
) |
Definition at line 1362 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_KERNEL, PI_SUCCESS, ZE_CALL, and _pi_kernel::ZeKernel.
Referenced by piPluginInit(), and cl::sycl::detail::SetKernelParamsAndLaunch().
pi_result piextMemCreateWithNativeHandle | ( | pi_native_handle | nativeHandle, |
pi_context | context, | ||
bool | ownNativeHandle, | ||
pi_mem * | mem | ||
) |
Creates PI mem object from a native handle.
NOTE: The created PI object takes ownership of the native handle.
nativeHandle | is the native handle to create PI mem from. |
context | The PI context of the memory allocation. |
ownNativeHandle | Indicates if we own the native memory handle or it came from interop that asked to not transfer the ownership to SYCL RT. |
mem | is the PI mem created from the native handle. |
Definition at line 1281 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, _pi_platform::ContextsMutex, _pi_queue::Device, _pi_context::Devices, cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, _pi_platform::getDeviceFromNativeHandle(), _pi_context::getPlatform(), _pi_context::MemAllocs, PI_ASSERT, PI_CALL, PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, PI_SUCCESS, piContextRetain(), _pi_mem::write_only, ZE_CALL, _pi_context::ZeCommandListInit, and _pi_context::ZeContext.
Referenced by piPluginInit(), and cl::sycl::detail::SYCLMemObjT::SYCLMemObjT().
pi_result piextMemGetNativeHandle | ( | pi_mem | mem, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI mem object.
mem | is the PI mem to get the native handle of. |
nativeHandle | is the native handle of mem. |
Definition at line 1277 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, _pi_mem::getZeHandle(), PI_ASSERT, PI_CALL, PI_INVALID_MEM_OBJECT, PI_SUCCESS, piextGetNativeHandle(), and _pi_mem::read_write.
Referenced by cl::sycl::detail::buffer_impl::getNativeVector(), cl::sycl::detail::memBufferCreateHelper(), cl::sycl::detail::memReleaseHelper(), and piPluginInit().
pi_result piextPlatformCreateWithNativeHandle | ( | pi_native_handle | nativeHandle, |
pi_platform * | platform | ||
) |
Creates PI platform object from a native handle.
NOTE: The created PI object takes ownership of the native handle.
nativeHandle | is the native handle to create PI device from. |
platform | is the PI platform created from the native handle. |
Definition at line 475 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_CALL, PI_INVALID_PLATFORM, PI_INVALID_VALUE, PI_SUCCESS, and piPlatformsGet().
Referenced by cl::sycl::detail::make_platform(), and piPluginInit().
pi_result piextPlatformGetNativeHandle | ( | pi_platform | platform, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI platform object.
platform | is the PI platform to get the native handle of. |
nativeHandle | is the native handle of platform. |
Definition at line 471 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_PLATFORM, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), and _pi_platform::ZeDriver.
Referenced by cl::sycl::detail::platform_impl::getNative(), and piPluginInit().
pi_result piextPluginGetOpaqueData | ( | void * | opaque_data_param, |
void ** | opaque_data_return | ||
) |
API to get Plugin internal data, opaque to SYCL RT.
Some devices whose device code is compiled by the host compiler (e.g. CPU emulators) may use it to access some device code functionality implemented in/behind the plugin.
opaque_data_param | - unspecified argument, interpretation is specific to a plugin |
opaque_data_return | - placeholder for the returned opaque data. |
Definition at line 1969 of file pi_esimd_emulator.cpp.
References PI_ERROR_UNKNOWN, PI_SUCCESS, and PiESimdDeviceAccess.
Referenced by cl::sycl::detail::getPluginOpaqueData().
pi_result piextProgramCreateWithNativeHandle | ( | pi_native_handle | nativeHandle, |
pi_context | context, | ||
bool | pluginOwnsNativeHandle, | ||
pi_program * | program | ||
) |
Creates PI program object from a native handle.
NOTE: The created PI object takes ownership of the native handle.
nativeHandle | is the native handle to create PI program from. |
context | is the PI context of the program. |
pluginOwnsNativeHandle | Indicates whether the created PI object should take ownership of the native handle. |
program | is the PI program created from the native handle. |
Definition at line 1344 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, DIE_NO_IMPLEMENTATION, _pi_program::Exe, PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_PROGRAM, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, and PI_SUCCESS.
Referenced by cl::sycl::detail::make_kernel_bundle(), and piPluginInit().
pi_result piextProgramGetNativeHandle | ( | pi_program | program, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI program object.
program | is the PI program to get the native handle of. |
nativeHandle | is the native handle of program. |
Definition at line 1340 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, _pi_program::Exe, PI_ASSERT, PI_INVALID_OPERATION, PI_INVALID_PROGRAM, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), _pi_program::State, and _pi_program::ZeModule.
Referenced by cl::sycl::detail::device_image_impl::getNative(), cl::sycl::detail::program_impl::getNative(), and piPluginInit().
pi_result piextProgramSetSpecializationConstant | ( | pi_program | prog, |
pi_uint32 | spec_id, | ||
size_t | spec_size, | ||
const void * | spec_value | ||
) |
Sets a specialization constant to a specific value.
Note: Only used when specialization constants are natively supported (SPIR-V binaries), and not when they are emulated (AOT binaries).
prog | the program object which will use the value |
spec_id | integer ID of the constant |
spec_size | size of the value |
spec_value | bytes of the value |
Definition at line 1942 of file pi_esimd_emulator.cpp.
References clSetProgramSpecializationConstantName, DIE_NO_IMPLEMENTATION, getExtFuncFromContext(), PI_INVALID_OPERATION, PI_SUCCESS, and _pi_program::SpecConstants.
Referenced by cl::sycl::detail::ProgramManager::build(), cl::sycl::detail::enableITTAnnotationsIfNeeded(), cl::sycl::detail::program_impl::flush_spec_constants(), and piPluginInit().
pi_result piextQueueCreateWithNativeHandle | ( | pi_native_handle | nativeHandle, |
pi_context | context, | ||
pi_device | device, | ||
bool | pluginOwnsNativeHandle, | ||
pi_queue * | queue | ||
) |
Creates PI queue object from a native handle.
NOTE: The created PI object takes ownership of the native handle.
nativeHandle | is the native handle to create PI queue from. |
context | is the PI context of the queue. |
device | is the PI device associated with the native device used when creating the native queue. This parameter is optional but some backends may fail to create the right PI queue if omitted. |
pluginOwnsNativeHandle | Indicates whether the created PI object should take ownership of the native handle. |
queue | is the PI queue created from the native handle. |
Definition at line 1002 of file pi_esimd_emulator.cpp.
References _pi_queue::_pi_queue(), _pi_queue::Context, _pi_queue::Device, _pi_context::Devices, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_CONTEXT, PI_INVALID_QUEUE, PI_INVALID_VALUE, and PI_SUCCESS.
Referenced by cl::sycl::detail::make_queue_impl(), and piPluginInit().
pi_result piextQueueGetNativeHandle | ( | pi_queue | queue, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI queue object.
queue | is the PI queue to get the native handle of. |
nativeHandle | is the native handle of queue. |
Definition at line 998 of file pi_esimd_emulator.cpp.
References _pi_queue::ComputeQueueGroup, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_QUEUE, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), and _pi_queue::pi_queue_group_t::ZeQueues.
Referenced by cl::sycl::detail::queue_impl::getNative(), and piPluginInit().
pi_result piextUSMDeviceAlloc | ( | void ** | result_ptr, |
pi_context | context, | ||
pi_device | device, | ||
pi_usm_mem_properties * | properties, | ||
size_t | size, | ||
pi_uint32 | alignment | ||
) |
Allocates device memory.
result_ptr | contains the allocated memory |
context | is the pi_context |
device | is the device the memory will be allocated on |
properties | are optional allocation properties |
size | is the size of the allocation |
alignment | is the desired alignment of the allocation |
result_ptr | contains the allocated memory |
context | is the pi_context |
device | is the device the memory will be allocated on |
pi_usm_mem_properties | are optional allocation properties |
size_t | is the size of the allocation |
alignment | is the desired alignment of the allocation |
Definition at line 1845 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, _pi_platform::ContextsMutex, _pi_queue::Device, _pi_context::DeviceMemAllocContexts, DIE_NO_IMPLEMENTATION, UsmAllocationException::getError(), _pi_context::MemAllocs, PI_CALL, PI_ERROR_UNKNOWN, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_SUCCESS, piContextRetain(), _pi_device::Platform, _pi_queue::Properties, UseUSMAllocator, and USMDeviceAllocImpl().
Referenced by _pi_buffer::getZeHandle(), and piPluginInit().
pi_result piextUSMEnqueueMemAdvise | ( | pi_queue | queue, |
const void * | ptr, | ||
size_t | length, | ||
pi_mem_advice | advice, | ||
pi_event * | event | ||
) |
USM Memadvise API.
queue | is the queue to submit to |
ptr | is the data to be advised |
length | is the size in bytes of the memory to advise |
advice | is device specific advice |
event | is the event that represents this operation |
USM Memadvise API.
Queue | is the queue to submit to |
Ptr | is the data to be advised |
Length | is the size in bytes of the meory to advise |
Advice | is device specific advice |
Event | is the event that represents this operation |
queue | is the queue to submit to |
ptr | is the data to be advised |
length | is the size in bytes of the meory to advise |
advice | is device specific advice |
event | is the event that represents this operation |
Definition at line 1927 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, _pi_ze_event_list_t::createAndRetainPiZeEventList(), createEventAndAssociateQueue(), _pi_queue::Device, DIE_NO_IMPLEMENTATION, _pi_queue::executeCommandList(), _pi_context::getAvailableCommandList(), cl::sycl::length(), PI_ASSERT, PI_COMMAND_TYPE_USER, PI_INVALID_EVENT, PI_INVALID_QUEUE, PI_SUCCESS, ZE_CALL, and _pi_device::ZeDevice.
Referenced by cl::sycl::detail::MemoryManager::advise_usm(), and piPluginInit().
pi_result piextUSMEnqueueMemcpy | ( | pi_queue | queue, |
pi_bool | blocking, | ||
void * | dst_ptr, | ||
const void * | src_ptr, | ||
size_t | size, | ||
pi_uint32 | num_events_in_waitlist, | ||
const pi_event * | events_waitlist, | ||
pi_event * | event | ||
) |
USM Memcpy API.
queue | is the queue to submit to |
blocking | is whether this operation should block the host |
src_ptr | is the data to be copied |
dst_ptr | is the location the data will be copied |
size | is number of bytes to copy |
num_events_in_waitlist | is the number of events to wait on |
events_waitlist | is an array of events to wait on |
event | is the event that represents this operation |
Definition at line 1922 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, DIE_NO_IMPLEMENTATION, enqueueMemCopyHelper(), IsDevicePointer(), PI_ASSERT, PI_COMMAND_TYPE_MEM_BUFFER_COPY, PI_INVALID_QUEUE, and PI_INVALID_VALUE.
Referenced by cl::sycl::detail::MemoryManager::copy_usm(), and piPluginInit().
pi_result piextUSMEnqueueMemset | ( | pi_queue | queue, |
void * | ptr, | ||
pi_int32 | value, | ||
size_t | count, | ||
pi_uint32 | num_events_in_waitlist, | ||
const pi_event * | events_waitlist, | ||
pi_event * | event | ||
) |
USM Memset API.
queue | is the queue to submit to |
ptr | is the ptr to memset |
value | is value to set. It is interpreted as an 8-bit value and the upper 24 bits are ignored |
count | is the size in bytes to memset |
num_events_in_waitlist | is the number of events to wait on |
events_waitlist | is an array of events to wait on |
event | is the event that represents this operation |
Queue | is the queue to submit to |
Ptr | is the ptr to memset |
Value | is value to set. It is interpreted as an 8-bit value and the upper 24 bits are ignored |
Count | is the size in bytes to memset |
NumEventsInWaitlist | is the number of events to wait on |
EventsWaitlist | is an array of events to wait on |
Event | is the event that represents this operation |
Definition at line 1917 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, enqueueMemFillHelper(), PI_ASSERT, PI_COMMAND_TYPE_MEM_BUFFER_FILL, PI_INVALID_QUEUE, and PI_INVALID_VALUE.
Referenced by cl::sycl::detail::MemoryManager::fill_usm(), and piPluginInit().
pi_result piextUSMEnqueuePrefetch | ( | pi_queue | queue, |
const void * | ptr, | ||
size_t | size, | ||
pi_usm_migration_flags | flags, | ||
pi_uint32 | num_events_in_waitlist, | ||
const pi_event * | events_waitlist, | ||
pi_event * | event | ||
) |
Hint to migrate memory to the device.
queue | is the queue to submit to |
ptr | points to the memory to migrate |
size | is the number of bytes to migrate |
flags | is a bitfield used to specify memory migration options |
num_events_in_waitlist | is the number of events to wait on |
events_waitlist | is an array of events to wait on |
event | is the event that represents this operation |
Queue | is the queue to submit to |
Ptr | points to the memory to migrate |
Size | is the number of bytes to migrate |
Flags | is a bitfield used to specify memory migration options |
NumEventsInWaitlist | is the number of events to wait on |
EventsWaitlist | is an array of events to wait on |
Event | is the event that represents this operation |
Please note that the following code should be run before the subsequent getAvailableCommandList() call so that there is no dead-lock from waiting unsubmitted events in an open batch.
Definition at line 1963 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, _pi_ze_event_list_t::createAndRetainPiZeEventList(), createEventAndAssociateQueue(), DIE_NO_IMPLEMENTATION, _pi_queue::executeCommandList(), _pi_context::getAvailableCommandList(), PI_ASSERT, PI_COMMAND_TYPE_USER, PI_INVALID_EVENT, PI_INVALID_QUEUE, PI_INVALID_VALUE, PI_SUCCESS, and ZE_CALL.
Referenced by piPluginInit(), and cl::sycl::detail::MemoryManager::prefetch_usm().
pi_result piextUSMFree | ( | pi_context | context, |
void * | ptr | ||
) |
Indicates that the allocated USM memory is no longer needed on the runtime side.
The actual freeing of the memory may be done in a blocking or deferred manner, e.g. to avoid issues with indirect memory access from kernels.
context | is the pi_context of the allocation |
ptr | is the memory to be freed |
Indicates that the allocated USM memory is no longer needed on the runtime side.
context | is the pi_context of the allocation |
ptr | is the memory to be freed |
Definition at line 1889 of file pi_esimd_emulator.cpp.
References _pi_context::Addr2CmBufferSVM, _pi_context::Addr2CmBufferSVMLock, _pi_device::CmDevicePtr, _pi_queue::Context, _pi_platform::ContextsMutex, _pi_context::Device, _pi_context::getPlatform(), PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_DEVICE, PI_INVALID_MEM_OBJECT, PI_INVALID_OPERATION, PI_SUCCESS, and USMFreeHelper().
Referenced by cl::sycl::detail::usm::free(), and piPluginInit().
pi_result piextUSMGetMemAllocInfo | ( | pi_context | context, |
const void * | ptr, | ||
pi_mem_alloc_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
API to query information about USM allocated pointers Valid Queries: PI_MEM_ALLOC_TYPE returns host/device/shared pi_host_usm value PI_MEM_ALLOC_BASE_PTR returns the base ptr of an allocation if the queried pointer fell inside an allocation.
Result must fit in void * PI_MEM_ALLOC_SIZE returns how big the queried pointer's allocation is in bytes. Result is a size_t. PI_MEM_ALLOC_DEVICE returns the pi_device this was allocated against
context | is the pi_context |
ptr | is the pointer to query |
param_name | is the type of query to perform |
param_value_size | is the size of the result in bytes |
param_value | is the result |
param_value_size_ret | is how many bytes were written |
API to query information about USM allocated pointers Valid Queries: PI_MEM_ALLOC_TYPE returns host/device/shared pi_host_usm value PI_MEM_ALLOC_BASE_PTR returns the base ptr of an allocation if the queried pointer fell inside an allocation.
Valid Queries: PI_MEM_ALLOC_TYPE returns host/device/shared pi_usm_type value PI_MEM_ALLOC_BASE_PTR returns the base ptr of an allocation if the queried pointer fell inside an allocation. Result must fit in void * PI_MEM_ALLOC_SIZE returns how big the queried pointer's allocation is in bytes. Result is a size_t. PI_MEM_ALLOC_DEVICE returns the pi_device this was allocated against
Context | is the pi_context |
Ptr | is the pointer to query |
ParamName | is the type of query to perform |
ParamValueSize | is the size of the result in bytes |
ParamValue | is the result |
ParamValueRet | is how many bytes were written |
Result must fit in void * PI_MEM_ALLOC_SIZE returns how big the queried pointer's allocation is in bytes. Result is a size_t. PI_MEM_ALLOC_DEVICE returns the pi_device this was allocated against
context | is the pi_context |
ptr | is the pointer to query |
param_name | is the type of query to perform |
param_value_size | is the size of the result in bytes |
param_value | is the result |
param_value_ret | is how many bytes were written |
Definition at line 1932 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, _pi_queue::Device, DIE_NO_IMPLEMENTATION, _pi_context::getPlatform(), PI_ASSERT, PI_INVALID_CONTEXT, PI_INVALID_VALUE, PI_MEM_ALLOC_BASE_PTR, PI_MEM_ALLOC_DEVICE, PI_MEM_ALLOC_SIZE, PI_MEM_ALLOC_TYPE, PI_MEM_TYPE_DEVICE, PI_MEM_TYPE_HOST, PI_MEM_TYPE_SHARED, PI_MEM_TYPE_UNKNOWN, PI_SUCCESS, ZE_CALL, and _pi_context::ZeContext.
Referenced by cl::sycl::get_pointer_device(), cl::sycl::get_pointer_type(), and piPluginInit().
pi_result piextUSMHostAlloc | ( | void ** | result_ptr, |
pi_context | context, | ||
pi_usm_mem_properties * | properties, | ||
size_t | size, | ||
pi_uint32 | alignment | ||
) |
Allocates host memory accessible by the device.
result_ptr | contains the allocated memory |
context | is the pi_context |
properties | are optional allocation properties |
size | is the size of the allocation |
alignment | is the desired alignment of the allocation |
result_ptr | contains the allocated memory |
context | is the pi_context |
pi_usm_mem_properties | are optional allocation properties |
size_t | is the size of the allocation |
alignment | is the desired alignment of the allocation |
Definition at line 1840 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, _pi_platform::ContextsMutex, DIE_NO_IMPLEMENTATION, UsmAllocationException::getError(), _pi_context::getPlatform(), _pi_context::HostMemAllocContext, _pi_context::MemAllocs, PI_CALL, PI_ERROR_UNKNOWN, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_SUCCESS, piContextRetain(), _pi_queue::Properties, UseUSMAllocator, and USMHostAllocImpl().
Referenced by cl::sycl::detail::usm::alignedAllocHost(), _pi_buffer::getZeHandle(), and piPluginInit().
pi_result piextUSMSharedAlloc | ( | void ** | result_ptr, |
pi_context | context, | ||
pi_device | device, | ||
pi_usm_mem_properties * | properties, | ||
size_t | size, | ||
pi_uint32 | alignment | ||
) |
Allocates memory accessible on both host and device.
result_ptr | contains the allocated memory |
context | is the pi_context |
device | is the device the memory will be allocated on |
properties | are optional allocation properties |
size | is the size of the allocation |
alignment | is the desired alignment of the allocation |
result_ptr | contains the allocated memory |
context | is the pi_context |
device | is the device the memory will be allocated on |
pi_usm_mem_properties | are optional allocation properties |
size_t | is the size of the allocation |
alignment | is the desired alignment of the allocation |
Definition at line 1850 of file pi_esimd_emulator.cpp.
References _pi_context::Addr2CmBufferSVM, _pi_context::Addr2CmBufferSVMLock, ARG_UNUSED, _pi_device::CmDevicePtr, _pi_queue::Context, _pi_platform::ContextsMutex, _pi_context::Device, _pi_queue::Device, cl::sycl::detail::DeviceReadOnly, UsmAllocationException::getError(), cl::sycl::detail::getNextPowerOfTwo(), _pi_context::MemAllocs, PI_ASSERT, PI_CALL, PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_MEM_OBJECT, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_MEM_ALLOC_DEVICE_READ_ONLY, PI_MEM_ALLOC_FLAGS, PI_OUT_OF_HOST_MEMORY, PI_SUCCESS, piContextRetain(), _pi_device::Platform, _pi_queue::Properties, _pi_context::SharedMemAllocContexts, _pi_context::SharedReadOnlyAllocs, _pi_context::SharedReadOnlyMemAllocContexts, UseUSMAllocator, and USMSharedAllocImpl().
Referenced by piPluginInit().
pi_result piKernelCreate | ( | pi_program | program, |
const char * | kernel_name, | ||
pi_kernel * | ret_kernel | ||
) |
Definition at line 1349 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, _pi_program::Exe, PI_ASSERT, PI_CALL, PI_ERROR_UNKNOWN, PI_INVALID_OPERATION, PI_INVALID_PROGRAM, PI_INVALID_PROGRAM_EXECUTABLE, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, PI_SUCCESS, _pi_program::State, ZE_CALL, and _pi_program::ZeModule.
Referenced by cl::sycl::detail::ProgramManager::getOrCreateKernel(), and piPluginInit().
pi_result piKernelGetGroupInfo | ( | pi_kernel | kernel, |
pi_device | device, | ||
pi_kernel_group_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 1370 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_DEVICE, PI_INVALID_KERNEL, PI_INVALID_VALUE, PI_KERNEL_GROUP_INFO_COMPILE_WORK_GROUP_SIZE, PI_KERNEL_GROUP_INFO_GLOBAL_WORK_SIZE, PI_KERNEL_GROUP_INFO_LOCAL_MEM_SIZE, PI_KERNEL_GROUP_INFO_NUM_REGS, PI_KERNEL_GROUP_INFO_PREFERRED_WORK_GROUP_SIZE_MULTIPLE, PI_KERNEL_GROUP_INFO_PRIVATE_MEM_SIZE, PI_KERNEL_GROUP_INFO_WORK_GROUP_SIZE, PI_SUCCESS, ZE_CALL, _pi_device::ZeDeviceComputeProperties, _pi_device::ZeDeviceProperties, _pi_kernel::ZeKernel, and _pi_kernel::ZeKernelProperties.
Referenced by cl::sycl::detail::get_kernel_device_specific_info< T, Param >::get(), cl::sycl::detail::get_kernel_device_specific_info< cl::sycl::range< 3 >, Param >::get(), cl::sycl::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), piPluginInit(), and cl::sycl::detail::SetKernelParamsAndLaunch().
pi_result piKernelGetInfo | ( | pi_kernel | kernel, |
pi_kernel_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 1366 of file pi_esimd_emulator.cpp.
References _pi_program::Context, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_KERNEL, PI_INVALID_VALUE, PI_KERNEL_INFO_ATTRIBUTES, PI_KERNEL_INFO_CONTEXT, PI_KERNEL_INFO_FUNCTION_NAME, PI_KERNEL_INFO_NUM_ARGS, PI_KERNEL_INFO_PROGRAM, PI_KERNEL_INFO_REFERENCE_COUNT, PI_OUT_OF_HOST_MEMORY, PI_SUCCESS, _pi_kernel::Program, ZE_CALL, _pi_kernel::ZeKernel, _pi_kernel::ZeKernelName, and _pi_kernel::ZeKernelProperties.
Referenced by cl::sycl::detail::get_kernel_info< std::string, Param >::get(), cl::sycl::detail::get_kernel_info< cl_uint, Param >::get(), cl::sycl::detail::ProgramManager::getPiProgramFromPiKernel(), cl::sycl::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), cl::sycl::detail::kernel_impl::kernel_impl(), and piPluginInit().
pi_result piKernelGetSubGroupInfo | ( | pi_kernel | kernel, |
pi_device | device, | ||
pi_kernel_sub_group_info | param_name, | ||
size_t | input_value_size, | ||
const void * | input_value, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
API to query information from the sub-group from a kernel.
kernel | is the pi_kernel to query |
device | is the device the kernel is executed on |
param_name | is a pi_kernel_sub_group_info enum value that specifies the informtation queried for. |
input_value_size | is the size of input value passed in ptr input_value param |
input_value | is the ptr to the input value passed. |
param_value_size | is the size of the value in bytes. |
param_value | is a pointer to the value to set. |
param_value_size_ret | is a pointer to return the size of data in param_value ptr. |
All queries expect a return of 4 bytes in param_value_size, param_value_size_ret, and a uint32_t value should to be written in param_value ptr. Note: This behaviour differs from OpenCL. OpenCL returns size_t.
Definition at line 1375 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, PI_KERNEL_COMPILE_NUM_SUB_GROUPS, PI_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL, PI_KERNEL_MAX_NUM_SUB_GROUPS, PI_KERNEL_MAX_SUB_GROUP_SIZE, PI_SUCCESS, and _pi_kernel::ZeKernelProperties.
Referenced by cl::sycl::detail::get_kernel_device_specific_info< T, Param >::get(), cl::sycl::detail::get_kernel_device_specific_info_with_input< Param >::get(), and piPluginInit().
Definition at line 1383 of file pi_esimd_emulator.cpp.
References _pi_program::Context, _pi_platform::ContextsMutex, DIE_NO_IMPLEMENTATION, _pi_context::getPlatform(), _pi_kernel::MemAllocs, _pi_kernel::OwnZeKernel, PI_ASSERT, PI_CALL, PI_INVALID_KERNEL, PI_SUCCESS, piContextRelease(), piProgramRelease(), _pi_kernel::Program, _pi_kernel::SubmissionsCount, USMFreeHelper(), ZE_CALL, and _pi_kernel::ZeKernel.
Referenced by _pi_event::cleanup(), piPluginInit(), cl::sycl::detail::kernel_impl::~kernel_impl(), and cl::sycl::detail::KernelProgramCache::~KernelProgramCache().
Definition at line 1381 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_KERNEL, PI_SUCCESS, _pi_kernel::Program, and _pi_kernel::retain().
Referenced by cl::sycl::detail::kernel_impl::get(), cl::sycl::detail::kernel_impl::getNative(), cl::sycl::detail::kernel_impl::kernel_impl(), cl::sycl::detail::make_kernel(), and piPluginInit().
pi_result piKernelSetArg | ( | pi_kernel | kernel, |
pi_uint32 | arg_index, | ||
size_t | arg_size, | ||
const void * | arg_value | ||
) |
Definition at line 1353 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_KERNEL, PI_SUCCESS, ZE_CALL, and _pi_kernel::ZeKernel.
Referenced by piextKernelSetArgPointer(), piPluginInit(), and cl::sycl::detail::SetKernelParamsAndLaunch().
pi_result piKernelSetExecInfo | ( | pi_kernel | kernel, |
pi_kernel_exec_info | param_name, | ||
size_t | param_value_size, | ||
const void * | param_value | ||
) |
API to set attributes controlling kernel execution.
kernel | is the pi kernel to execute |
param_name | is a pi_kernel_exec_info value that specifies the info passed to the kernel |
param_value_size | is the size of the value in bytes |
param_value | is a pointer to the value to set for the kernel |
If param_name is PI_USM_INDIRECT_ACCESS, the value will be a ptr to the pi_bool value PI_TRUE If param_name is PI_USM_PTRS, the value will be an array of ptrs
Definition at line 1937 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_KERNEL, PI_INVALID_VALUE, PI_SUCCESS, PI_TRUE, PI_USM_INDIRECT_ACCESS, USMSetIndirectAccess(), ZE_CALL, and _pi_kernel::ZeKernel.
Referenced by cl::sycl::detail::ProgramManager::getOrCreateKernel(), cl::sycl::detail::kernel_impl::kernel_impl(), and piPluginInit().
pi_result piMemBufferCreate | ( | pi_context | context, |
pi_mem_flags | flags, | ||
size_t | size, | ||
void * | host_ptr, | ||
pi_mem * | ret_mem, | ||
const pi_mem_properties * | properties = nullptr |
||
) |
Definition at line 1007 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, _pi_context::checkSurfaceArgument(), clCreateBufferWithPropertiesName, _pi_device::CmDevicePtr, _pi_queue::Context, _pi_context::Device, cl::sycl::detail::pi::die(), ZeUSMImportExtension::doZeUSMImport(), ZeUSMImportExtension::Enabled, getExtFuncFromContext(), _pi_context::getPlatform(), _pi_buffer::getZeHandle(), cl::sycl::detail::memcpy(), _pi_buffer::OnHost, PI_ASSERT, PI_CALL, PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_MEM_ACCESS_READ_ONLY, PI_MEM_FLAGS_ACCESS_RW, PI_MEM_FLAGS_HOST_PTR_ALLOC, PI_MEM_FLAGS_HOST_PTR_COPY, PI_MEM_FLAGS_HOST_PTR_USE, PI_OUT_OF_HOST_MEMORY, PI_SUCCESS, PiESimdSurfaceMap, PiESimdSurfaceMapLock, PrintPiTrace, cm_surface_ptr_t::RegularBufPtr, cm_surface_ptr_t::tag, cm_surface_ptr_t::TypeRegularBuffer, cm_surface_ptr_t::TypeUserProvidedBuffer, cm_surface_ptr_t::UPBufPtr, _pi_mem::write_only, ZE_CALL, _pi_context::ZeCommandListInit, _pi_context::ZeContext, _pi_platform::ZeDriver, and ZeUSMImport.
Referenced by cl::sycl::detail::memBufferCreateHelper(), and piPluginInit().
pi_result piMemBufferPartition | ( | pi_mem | buffer, |
pi_mem_flags | flags, | ||
pi_buffer_create_type | buffer_create_type, | ||
void * | buffer_create_info, | ||
pi_mem * | ret_mem | ||
) |
Definition at line 1753 of file pi_esimd_emulator.cpp.
References cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, _pi_mem::isImage(), PI_ASSERT, PI_BUFFER_CREATE_TYPE_REGION, PI_ERROR_UNKNOWN, PI_INVALID_BUFFER_SIZE, PI_INVALID_MEM_OBJECT, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_MEM_FLAGS_ACCESS_RW, PI_OUT_OF_HOST_MEMORY, and PI_SUCCESS.
Referenced by cl::sycl::detail::MemoryManager::allocateMemSubBuffer(), and piPluginInit().
pi_result piMemGetInfo | ( | pi_mem | mem, |
pi_mem_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 1081 of file pi_esimd_emulator.cpp.
References _pi_mem::Context, cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, _pi_mem::isImage(), PI_ASSERT, PI_INVALID_VALUE, PI_MEM_CONTEXT, and PI_MEM_SIZE.
Referenced by cl::sycl::detail::SYCLMemObjT::getBufSizeForContext(), cl::sycl::detail::image_impl< Dimensions >::image_impl(), piPluginInit(), and cl::sycl::detail::SYCLMemObjT::SYCLMemObjT().
pi_result piMemImageCreate | ( | pi_context | context, |
pi_mem_flags | flags, | ||
const pi_image_format * | image_format, | ||
const pi_image_desc * | image_desc, | ||
void * | host_ptr, | ||
pi_mem * | ret_mem | ||
) |
Definition at line 1158 of file pi_esimd_emulator.cpp.
References CASE_PI_UNSUPPORTED, _pi_context::checkSurfaceArgument(), _pi_device::CmDevicePtr, _pi_queue::Context, ConvertPiImageFormatToCmFormat(), _pi_context::Device, _pi_queue::Device, _pi_context::Devices, cl::sycl::detail::pi::die(), _pi_image_desc::image_array_size, _pi_image_format::image_channel_data_type, _pi_image_format::image_channel_order, _pi_image_desc::image_depth, _pi_image_desc::image_height, _pi_image_desc::image_type, _pi_image_desc::image_width, _pi_image_desc::num_mip_levels, PI_ASSERT, PI_ERROR_UNKNOWN, PI_IMAGE_CHANNEL_TYPE_FLOAT, PI_IMAGE_CHANNEL_TYPE_HALF_FLOAT, PI_IMAGE_CHANNEL_TYPE_SIGNED_INT16, PI_IMAGE_CHANNEL_TYPE_SIGNED_INT32, PI_IMAGE_CHANNEL_TYPE_SIGNED_INT8, PI_IMAGE_CHANNEL_TYPE_SNORM_INT16, PI_IMAGE_CHANNEL_TYPE_SNORM_INT8, PI_IMAGE_CHANNEL_TYPE_UNORM_INT16, PI_IMAGE_CHANNEL_TYPE_UNORM_INT8, PI_IMAGE_CHANNEL_TYPE_UNORM_INT_101010, PI_IMAGE_CHANNEL_TYPE_UNORM_SHORT_555, PI_IMAGE_CHANNEL_TYPE_UNORM_SHORT_565, PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT16, PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT32, PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT8, PI_IMAGE_FORMAT_NOT_SUPPORTED, PI_INVALID_CONTEXT, PI_INVALID_IMAGE_FORMAT_DESCRIPTOR, PI_INVALID_MEM_OBJECT, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_MEM_FLAGS_ACCESS_RW, PI_MEM_FLAGS_HOST_PTR_COPY, PI_MEM_FLAGS_HOST_PTR_USE, PI_MEM_TYPE_IMAGE1D, PI_MEM_TYPE_IMAGE1D_ARRAY, PI_MEM_TYPE_IMAGE1D_BUFFER, PI_MEM_TYPE_IMAGE2D, PI_MEM_TYPE_IMAGE2D_ARRAY, PI_MEM_TYPE_IMAGE3D, PI_OUT_OF_HOST_MEMORY, PI_SUCCESS, PiESimdSurfaceMap, PiESimdSurfaceMapLock, PrintPiTrace, cm_surface_ptr_t::RegularImgPtr, _pi_context::SingleRootDevice, cm_surface_ptr_t::tag, cm_surface_ptr_t::TypeRegularImage, cm_surface_ptr_t::TypeUserProvidedImage, cm_surface_ptr_t::UPImgPtr, ZE_CALL, _pi_context::ZeCommandListInit, _pi_context::ZeContext, and _pi_device::ZeDevice.
Referenced by cl::sycl::detail::MemoryManager::allocateImageObject(), and piPluginInit().
pi_result piMemImageGetInfo | ( | pi_mem | image, |
pi_image_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 1674 of file pi_esimd_emulator.cpp.
References cl::sycl::detail::pi::die(), and DIE_NO_IMPLEMENTATION.
Referenced by cl::sycl::detail::getImageInfo(), and piPluginInit().
Definition at line 1093 of file pi_esimd_emulator.cpp.
References _pi_buffer::free(), _pi_mem::getZeHandle(), _pi_mem::isImage(), PI_ASSERT, PI_CALL, PI_INVALID_MEM_OBJECT, PI_SUCCESS, PiESimdSurfaceMap, PiESimdSurfaceMapLock, _pi_mem::SurfaceIndex, _pi_mem::write_only, and ZE_CALL.
Referenced by cl::sycl::detail::memReleaseHelper(), piPluginInit(), and cl::sycl::detail::SYCLMemObjT::updateHostMemory().
Definition at line 1085 of file pi_esimd_emulator.cpp.
References PI_ASSERT, PI_INVALID_MEM_OBJECT, and PI_SUCCESS.
Referenced by cl::sycl::detail::buffer_impl::addInteropObject(), cl::sycl::detail::buffer_impl::getNativeVector(), piPluginInit(), and cl::sycl::detail::SYCLMemObjT::SYCLMemObjT().
pi_result piPlatformGetInfo | ( | pi_platform | platform, |
pi_platform_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 439 of file pi_esimd_emulator.cpp.
References _pi_platform::CmEmuVersion, cl::sycl::detail::pi::die(), PI_ASSERT, PI_INVALID_PLATFORM, PI_INVALID_VALUE, PI_PLATFORM_INFO_EXTENSIONS, PI_PLATFORM_INFO_NAME, PI_PLATFORM_INFO_PROFILE, PI_PLATFORM_INFO_VENDOR, PI_PLATFORM_INFO_VERSION, PI_SUCCESS, ZE_SUPPORTED_EXTENSIONS, _pi_platform::ZeDriverApiVersion, and _pi_platform::ZeDriverVersion.
Referenced by cl::sycl::detail::get_platform_info< std::string, param >::get(), and piPluginInit().
pi_result piPlatformsGet | ( | pi_uint32 | num_entries, |
pi_platform * | platforms, | ||
pi_uint32 * | num_platforms | ||
) |
Runtime queries number of Platforms
Definition at line 394 of file pi_esimd_emulator.cpp.
References _pi_platform::CmEmuVersion, _pi_platform::initialize(), PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_PLATFORM, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, PI_SUCCESS, PiPlatformCache, PiPlatformCacheLock, PiPlatformCachePopulated, PiPlatformsCache, PiPlatformsCacheMutex, PrintPiTrace, setEnvVar(), ZE_CALL, and ZE_CALL_NOCHECK.
Referenced by cl::sycl::detail::platform_impl::get_platforms(), piextPlatformCreateWithNativeHandle(), and piPluginInit().
API to get Plugin specific warning and error messages.
message | is a returned address to the first element in the message the plugin owns the error message string. The string is thread-local. As a result, different threads may return different errors. A message is overwritten by the following error or warning that is produced within the given thread. The memory is cleaned up at the end of the thread's lifetime. |
Definition at line 158 of file pi_esimd_emulator.cpp.
References ErrorMessage, and ErrorMessageCode.
Referenced by piPluginInit().
Definition at line 5069 of file pi_cuda.cpp.
References _PI_CL, _PI_H_VERSION_STRING, cuda_piclProgramCreateWithSource(), cuda_piContextCreate(), cuda_piContextGetInfo(), cuda_piContextRelease(), cuda_piContextRetain(), cuda_piDeviceGetInfo(), cuda_piDevicePartition(), cuda_piDeviceRelease(), cuda_piDeviceRetain(), cuda_piDevicesGet(), cuda_piEnqueueEventsWait(), cuda_piEnqueueEventsWaitWithBarrier(), cuda_piEnqueueKernelLaunch(), cuda_piEnqueueMemBufferCopy(), cuda_piEnqueueMemBufferCopyRect(), cuda_piEnqueueMemBufferFill(), cuda_piEnqueueMemBufferMap(), cuda_piEnqueueMemBufferRead(), cuda_piEnqueueMemBufferReadRect(), cuda_piEnqueueMemBufferWrite(), cuda_piEnqueueMemBufferWriteRect(), cuda_piEnqueueMemImageCopy(), cuda_piEnqueueMemImageFill(), cuda_piEnqueueMemImageRead(), cuda_piEnqueueMemImageWrite(), cuda_piEnqueueMemUnmap(), cuda_piEnqueueNativeKernel(), cuda_piEventCreate(), cuda_piEventGetInfo(), cuda_piEventGetProfilingInfo(), cuda_piEventRelease(), cuda_piEventRetain(), cuda_piEventSetCallback(), cuda_piEventSetStatus(), cuda_piEventsWait(), cuda_piextContextCreateWithNativeHandle(), cuda_piextContextGetNativeHandle(), cuda_piextContextSetExtendedDeleter(), cuda_piextDeviceCreateWithNativeHandle(), cuda_piextDeviceGetNativeHandle(), cuda_piextDeviceSelectBinary(), cuda_piextEventCreateWithNativeHandle(), cuda_piextEventGetNativeHandle(), cuda_piextGetDeviceFunctionPointer(), cuda_piextKernelCreateWithNativeHandle(), cuda_piextKernelSetArgMemObj(), cuda_piextKernelSetArgPointer(), cuda_piextKernelSetArgSampler(), cuda_piextMemCreateWithNativeHandle(), cuda_piextMemGetNativeHandle(), cuda_piextProgramCreateWithNativeHandle(), cuda_piextProgramGetNativeHandle(), cuda_piextProgramSetSpecializationConstant(), cuda_piextQueueCreateWithNativeHandle(), cuda_piextQueueGetNativeHandle(), cuda_piextUSMDeviceAlloc(), cuda_piextUSMEnqueueMemAdvise(), cuda_piextUSMEnqueueMemcpy(), cuda_piextUSMEnqueueMemset(), cuda_piextUSMEnqueuePrefetch(), cuda_piextUSMFree(), cuda_piextUSMGetMemAllocInfo(), cuda_piextUSMHostAlloc(), cuda_piextUSMSharedAlloc(), cuda_piKernelCreate(), cuda_piKernelGetGroupInfo(), cuda_piKernelGetInfo(), cuda_piKernelGetSubGroupInfo(), cuda_piKernelRelease(), cuda_piKernelRetain(), cuda_piKernelSetArg(), cuda_piKernelSetExecInfo(), cuda_piMemBufferCreate(), cuda_piMemBufferPartition(), cuda_piMemGetInfo(), cuda_piMemImageCreate(), cuda_piMemImageGetInfo(), cuda_piMemRelease(), cuda_piMemRetain(), cuda_piPlatformGetInfo(), cuda_piPlatformsGet(), cuda_piProgramBuild(), cuda_piProgramCompile(), cuda_piProgramCreate(), cuda_piProgramCreateWithBinary(), cuda_piProgramGetBuildInfo(), cuda_piProgramGetInfo(), cuda_piProgramLink(), cuda_piProgramRelease(), cuda_piProgramRetain(), cuda_piQueueCreate(), cuda_piQueueFinish(), cuda_piQueueFlush(), cuda_piQueueGetInfo(), cuda_piQueueRelease(), cuda_piQueueRetain(), cuda_piSamplerCreate(), cuda_piSamplerGetInfo(), cuda_piSamplerRelease(), cuda_piSamplerRetain(), cuda_piTearDown(), enableZeTracing(), ESIMDEmuPluginDataVersion, hip_piclProgramCreateWithSource(), hip_piContextCreate(), hip_piContextGetInfo(), hip_piContextRelease(), hip_piContextRetain(), hip_piDeviceGetInfo(), hip_piDevicePartition(), hip_piDeviceRelease(), hip_piDeviceRetain(), hip_piDevicesGet(), hip_piEnqueueEventsWait(), hip_piEnqueueEventsWaitWithBarrier(), hip_piEnqueueKernelLaunch(), hip_piEnqueueMemBufferCopy(), hip_piEnqueueMemBufferCopyRect(), hip_piEnqueueMemBufferFill(), hip_piEnqueueMemBufferMap(), hip_piEnqueueMemBufferRead(), hip_piEnqueueMemBufferReadRect(), hip_piEnqueueMemBufferWrite(), hip_piEnqueueMemBufferWriteRect(), hip_piEnqueueMemImageCopy(), hip_piEnqueueMemImageFill(), hip_piEnqueueMemImageRead(), hip_piEnqueueMemImageWrite(), hip_piEnqueueMemUnmap(), hip_piEnqueueNativeKernel(), hip_piEventCreate(), hip_piEventGetInfo(), hip_piEventGetProfilingInfo(), hip_piEventRelease(), hip_piEventRetain(), hip_piEventSetCallback(), hip_piEventSetStatus(), hip_piEventsWait(), hip_piextContextCreateWithNativeHandle(), hip_piextContextGetNativeHandle(), hip_piextContextSetExtendedDeleter(), hip_piextDeviceCreateWithNativeHandle(), hip_piextDeviceGetNativeHandle(), hip_piextDeviceSelectBinary(), hip_piextEventCreateWithNativeHandle(), hip_piextEventGetNativeHandle(), hip_piextGetDeviceFunctionPointer(), hip_piextKernelSetArgMemObj(), hip_piextKernelSetArgPointer(), hip_piextKernelSetArgSampler(), hip_piextMemCreateWithNativeHandle(), hip_piextMemGetNativeHandle(), hip_piextProgramCreateWithNativeHandle(), hip_piextProgramGetNativeHandle(), hip_piextProgramSetSpecializationConstant(), hip_piextQueueCreateWithNativeHandle(), hip_piextQueueGetNativeHandle(), hip_piextUSMDeviceAlloc(), hip_piextUSMEnqueueMemAdvise(), hip_piextUSMEnqueueMemcpy(), hip_piextUSMEnqueueMemset(), hip_piextUSMEnqueuePrefetch(), hip_piextUSMFree(), hip_piextUSMGetMemAllocInfo(), hip_piextUSMHostAlloc(), hip_piextUSMSharedAlloc(), hip_piKernelCreate(), hip_piKernelGetGroupInfo(), hip_piKernelGetInfo(), hip_piKernelGetSubGroupInfo(), hip_piKernelRelease(), hip_piKernelRetain(), hip_piKernelSetArg(), hip_piKernelSetExecInfo(), hip_piMemBufferCreate(), hip_piMemBufferPartition(), hip_piMemGetInfo(), hip_piMemImageCreate(), hip_piMemImageGetInfo(), hip_piMemRelease(), hip_piMemRetain(), hip_piPlatformGetInfo(), hip_piPlatformsGet(), hip_piProgramBuild(), hip_piProgramCompile(), hip_piProgramCreate(), hip_piProgramCreateWithBinary(), hip_piProgramGetBuildInfo(), hip_piProgramGetInfo(), hip_piProgramLink(), hip_piProgramRelease(), hip_piProgramRetain(), hip_piQueueCreate(), hip_piQueueFinish(), hip_piQueueFlush(), hip_piQueueGetInfo(), hip_piQueueRelease(), hip_piQueueRetain(), hip_piSamplerCreate(), hip_piSamplerGetInfo(), hip_piSamplerRelease(), hip_piSamplerRetain(), hip_piTearDown(), PI_ASSERT, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_SUCCESS, piclProgramCreateWithSource(), piContextCreate(), piContextGetInfo(), piContextRelease(), piContextRetain(), piDeviceGetInfo(), piDevicePartition(), piDeviceRelease(), piDeviceRetain(), piDevicesGet(), piEnqueueEventsWait(), piEnqueueEventsWaitWithBarrier(), piEnqueueKernelLaunch(), piEnqueueMemBufferCopy(), piEnqueueMemBufferCopyRect(), piEnqueueMemBufferFill(), piEnqueueMemBufferMap(), piEnqueueMemBufferRead(), piEnqueueMemBufferReadRect(), piEnqueueMemBufferWrite(), piEnqueueMemBufferWriteRect(), piEnqueueMemImageCopy(), piEnqueueMemImageFill(), piEnqueueMemImageRead(), piEnqueueMemImageWrite(), piEnqueueMemUnmap(), piEnqueueNativeKernel(), PiESimdDeviceAccess, piEventCreate, piEventGetInfo(), piEventGetProfilingInfo(), piEventRelease(), piEventRetain(), piEventSetCallback(), piEventSetStatus(), piEventsWait(), piextContextCreateWithNativeHandle(), piextContextGetNativeHandle(), piextContextSetExtendedDeleter(), piextDeviceCreateWithNativeHandle(), piextDeviceGetNativeHandle(), piextDeviceSelectBinary(), piextEventCreateWithNativeHandle(), piextEventGetNativeHandle(), piextGetDeviceFunctionPointer(), piextGetNativeHandle(), piextKernelCreateWithNativeHandle(), piextKernelGetNativeHandle(), piextKernelSetArgMemObj(), piextKernelSetArgPointer(), piextKernelSetArgSampler(), piextMemCreateWithNativeHandle(), piextMemGetNativeHandle(), piextPlatformCreateWithNativeHandle(), piextPlatformGetNativeHandle(), piextProgramCreateWithNativeHandle(), piextProgramGetNativeHandle(), piextProgramSetSpecializationConstant(), piextQueueCreateWithNativeHandle(), piextQueueGetNativeHandle(), piextUSMDeviceAlloc(), piextUSMEnqueueMemAdvise(), piextUSMEnqueueMemcpy(), piextUSMEnqueueMemset(), piextUSMEnqueuePrefetch(), piextUSMFree(), piextUSMGetMemAllocInfo(), piextUSMHostAlloc(), piextUSMSharedAlloc(), _pi_plugin::PiFunctionTable, piKernelCreate(), piKernelGetGroupInfo(), piKernelGetInfo(), piKernelGetSubGroupInfo(), piKernelRelease(), piKernelRetain(), piKernelSetArg(), piKernelSetExecInfo(), piMemBufferCreate(), piMemBufferPartition(), piMemGetInfo(), piMemImageCreate(), piMemImageGetInfo(), piMemRelease(), piMemRetain(), piPlatformGetInfo(), piPlatformsGet(), piPluginGetLastError(), piProgramBuild(), piProgramCompile(), piProgramCreate(), piProgramCreateWithBinary(), piProgramGetBuildInfo(), piProgramGetInfo(), piProgramLink(), piProgramRelease(), piProgramRetain(), piQueueCreate(), piQueueFinish(), piQueueFlush(), piQueueGetInfo(), piQueueRelease(), piQueueRetain(), piSamplerCreate(), piSamplerGetInfo(), piSamplerRelease(), piSamplerRetain(), piTearDown(), _pi_plugin::PiVersion, _pi_plugin::PluginVersion, cl::__ESIMD_NS::detail::SLM_BTI, and SupportedVersion.
Referenced by cl::sycl::detail::pi::bindPlugin().
pi_result piProgramBuild | ( | pi_program | program, |
pi_uint32 | num_devices, | ||
const pi_device * | device_list, | ||
const char * | options, | ||
void(*)(pi_program program, void *user_data) | pfn_notify, | ||
void * | user_data | ||
) |
Referenced by cl::sycl::detail::make_kernel_bundle(), and piPluginInit().
pi_result piProgramCompile | ( | pi_program | program, |
pi_uint32 | num_devices, | ||
const pi_device * | device_list, | ||
const char * | options, | ||
pi_uint32 | num_input_headers, | ||
const pi_program * | input_headers, | ||
const char ** | header_include_names, | ||
void(*)(pi_program program, void *user_data) | pfn_notify, | ||
void * | user_data | ||
) |
pi_result piProgramCreate | ( | pi_context | context, |
const void * | il, | ||
size_t | length, | ||
pi_program * | res_program | ||
) |
Definition at line 1286 of file pi_esimd_emulator.cpp.
References CHECK_ERR_SET_NULL_RET, _pi_queue::Context, DIE_NO_IMPLEMENTATION, _pi_program::IL, cl::sycl::length(), PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_PROGRAM, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, and PI_SUCCESS.
Referenced by cl::sycl::detail::createSpirvProgram(), and piPluginInit().
pi_result piProgramCreateWithBinary | ( | pi_context | context, |
pi_uint32 | num_devices, | ||
const pi_device * | device_list, | ||
const size_t * | lengths, | ||
const unsigned char ** | binaries, | ||
size_t | num_metadata_entries, | ||
const pi_device_binary_property * | metadata, | ||
pi_int32 * | binary_status, | ||
pi_program * | ret_program | ||
) |
Creates a PI program for a context and loads the given binary into it.
context | is the PI context to associate the program with. |
num_devices | is the number of devices in device_list. |
device_list | is a pointer to a list of devices. These devices must all be in context. |
lengths | is an array of sizes in bytes of the binary in binaries. |
binaries | is a pointer to a list of program binaries. |
num_metadata_entries | is the number of metadata entries in metadata. |
metadata | is a pointer to a list of program metadata entries. The use of metadata entries is backend-defined. |
binary_status | returns whether the program binary was loaded succesfully or not, for each device in device_list. binary_status is ignored if it is null and otherwise it must be an array of num_devices elements. |
ret_program | is the PI program created from the program binaries. |
Definition at line 1290 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, DIE_NO_IMPLEMENTATION, _pi_program::Native, PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_OPERATION, PI_INVALID_PROGRAM, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, and PI_SUCCESS.
Referenced by cl::sycl::detail::createBinaryProgram(), and piPluginInit().
pi_result piProgramGetBuildInfo | ( | pi_program | program, |
pi_device | device, | ||
cl_program_build_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 1331 of file pi_esimd_emulator.cpp.
References _pi_queue::Device, DIE_NO_IMPLEMENTATION, _pi_program::ErrorMessage, _pi_program::Exe, _pi_program::Object, PI_INVALID_VALUE, PI_SUCCESS, _pi_program::State, ZE_CALL, and _pi_program::ZeBuildLog.
Referenced by cl::sycl::detail::ProgramManager::getProgramBuildLog(), cl::sycl::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), cl::sycl::detail::make_kernel_bundle(), and piPluginInit().
pi_result piProgramGetInfo | ( | pi_program | program, |
pi_program_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 1308 of file pi_esimd_emulator.cpp.
References _pi_program::Code, _pi_program::CodeLength, _pi_program::Context, _pi_context::Devices, cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, _pi_program::Exe, _pi_program::IL, cl::sycl::detail::memcpy(), _pi_program::Native, _pi_program::Object, PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_PROGRAM, PI_INVALID_PROGRAM_EXECUTABLE, PI_OUT_OF_HOST_MEMORY, PI_PROGRAM_INFO_BINARIES, PI_PROGRAM_INFO_BINARY_SIZES, PI_PROGRAM_INFO_DEVICES, PI_PROGRAM_INFO_KERNEL_NAMES, PI_PROGRAM_INFO_NUM_DEVICES, PI_PROGRAM_INFO_NUM_KERNELS, PI_PROGRAM_INFO_REFERENCE_COUNT, PI_SUCCESS, _pi_program::State, ZE_CALL, and _pi_program::ZeModule.
Referenced by cl::sycl::detail::program_impl::get_binaries(), cl::sycl::detail::ProgramManager::getProgramBuildLog(), cl::sycl::detail::make_kernel_bundle(), piextGetDeviceFunctionPointer(), piPluginInit(), cl::sycl::detail::program_impl::get_info< info::program::reference_count >(), and cl::sycl::detail::PersistentDeviceCodeCache::putItemToDisc().
pi_result piProgramLink | ( | pi_context | context, |
pi_uint32 | num_devices, | ||
const pi_device * | device_list, | ||
const char * | options, | ||
pi_uint32 | num_input_programs, | ||
const pi_program * | input_programs, | ||
void(*)(pi_program program, void *user_data) | pfn_notify, | ||
void * | user_data, | ||
pi_program * | ret_program | ||
) |
Definition at line 794 of file pi_opencl.cpp.
References cast(), and PI_INVALID_OPERATION.
Referenced by cl::sycl::detail::program_impl::link(), cl::sycl::detail::ProgramManager::link(), cl::sycl::detail::make_kernel_bundle(), piPluginInit(), and cl::sycl::detail::program_impl::program_impl().
pi_result piProgramRelease | ( | pi_program | program | ) |
Definition at line 1338 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_PROGRAM, PI_INVALID_VALUE, and PI_SUCCESS.
Referenced by piKernelRelease(), piPluginInit(), cl::sycl::detail::context_impl::~context_impl(), cl::sycl::detail::device_image_impl::~device_image_impl(), cl::sycl::detail::KernelProgramCache::~KernelProgramCache(), and cl::sycl::detail::program_impl::~program_impl().
pi_result piProgramRetain | ( | pi_program | program | ) |
Definition at line 1336 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_PROGRAM, and PI_SUCCESS.
Referenced by cl::sycl::detail::ProgramManager::build(), cl::sycl::detail::program_impl::build_with_kernel_name(), cl::sycl::detail::program_impl::get(), cl::sycl::detail::program_impl::getNative(), _pi_kernel::initialize(), and piPluginInit().
pi_result piQueueCreate | ( | pi_context | context, |
pi_device | device, | ||
pi_queue_properties | properties, | ||
pi_queue * | queue | ||
) |
Definition at line 930 of file pi_esimd_emulator.cpp.
References _pi_queue::_pi_queue(), ARG_UNUSED, CHECK_ERR_SET_NULL_RET, _pi_device::CmDevicePtr, _pi_queue::Context, _pi_context::Device, _pi_queue::Device, _pi_context::Devices, _pi_device::hasLinkCopyEngine(), _pi_device::hasMainCopyEngine(), PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_DEVICE, PI_INVALID_QUEUE, PI_INVALID_QUEUE_PROPERTIES, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, PI_QUEUE_ON_DEVICE, PI_QUEUE_ON_DEVICE_DEFAULT, PI_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, PI_QUEUE_PROFILING_ENABLE, PI_SUCCESS, _pi_queue::Properties, and _pi_device::QueueGroup.
Referenced by cl::sycl::detail::queue_impl::createQueue(), and piPluginInit().
Definition at line 984 of file pi_esimd_emulator.cpp.
References _pi_queue::ComputeQueueGroup, CONTINUE_NO_IMPLEMENTATION, _pi_queue::CopyQueueGroup, _pi_queue::executeAllOpenCommandLists(), _pi_queue::LastCommandEvent, PI_ASSERT, PI_INVALID_QUEUE, PI_SUCCESS, _pi_queue::resetCommandLists(), _pi_queue::synchronize(), ZE_CALL, and _pi_queue::pi_queue_group_t::ZeQueues.
Referenced by cl::sycl::detail::queue_impl::getExclusiveQueueHandleRef(), piPluginInit(), and cl::sycl::detail::queue_impl::wait().
Definition at line 991 of file pi_esimd_emulator.cpp.
References CONTINUE_NO_IMPLEMENTATION, and PI_SUCCESS.
Referenced by cl::sycl::detail::event_impl::flushIfNeeded(), and piPluginInit().
pi_result piQueueGetInfo | ( | pi_queue | command_queue, |
pi_queue_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 958 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, _pi_queue::Device, cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_QUEUE, PI_INVALID_VALUE, PI_QUEUE_INFO_CONTEXT, PI_QUEUE_INFO_DEVICE, PI_QUEUE_INFO_DEVICE_DEFAULT, PI_QUEUE_INFO_PROPERTIES, PI_QUEUE_INFO_REFERENCE_COUNT, PI_QUEUE_INFO_SIZE, and PI_SUCCESS.
Referenced by piPluginInit(), and cl::sycl::detail::queue_impl::get_info< info::queue::reference_count >().
Definition at line 970 of file pi_esimd_emulator.cpp.
References _pi_queue::CmQueuePtr, _pi_queue::CommandListMap, _pi_queue::executeAllOpenCommandLists(), _pi_queue::Healthy, PI_ASSERT, PI_CALL, PI_INVALID_QUEUE, PI_SUCCESS, QueueRelease(), _pi_queue::RefCountExternal, _pi_queue::resetCommandList(), _pi_queue::synchronize(), and ZE_CALL.
Referenced by piPluginInit(), and cl::sycl::detail::queue_impl::~queue_impl().
Definition at line 962 of file pi_esimd_emulator.cpp.
References PI_INVALID_QUEUE, PI_SUCCESS, piQueueRetainNoLock(), and _pi_queue::RefCountExternal.
Referenced by cl::sycl::detail::queue_impl::get(), cl::sycl::detail::queue_impl::getNative(), and piPluginInit().
pi_result piSamplerCreate | ( | pi_context | context, |
const pi_sampler_properties * | sampler_properties, | ||
pi_sampler * | result_sampler | ||
) |
Definition at line 1471 of file pi_esimd_emulator.cpp.
References _pi_queue::Context, _pi_queue::Device, _pi_context::Devices, DIE_NO_IMPLEMENTATION, _pi_context::getPlatform(), PI_ASSERT, PI_ERROR_UNKNOWN, PI_FALSE, PI_INVALID_CONTEXT, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, PI_SAMPLER_ADDRESSING_MODE_CLAMP, PI_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE, PI_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT, PI_SAMPLER_ADDRESSING_MODE_NONE, PI_SAMPLER_ADDRESSING_MODE_REPEAT, PI_SAMPLER_FILTER_MODE_LINEAR, PI_SAMPLER_FILTER_MODE_NEAREST, PI_SAMPLER_INFO_ADDRESSING_MODE, PI_SAMPLER_INFO_FILTER_MODE, PI_SAMPLER_INFO_NORMALIZED_COORDS, PI_SAMPLER_PROPERTIES_ADDRESSING_MODE, PI_SAMPLER_PROPERTIES_FILTER_MODE, PI_SAMPLER_PROPERTIES_NORMALIZED_COORDS, PI_SUCCESS, PI_TRUE, ZE_CALL, _pi_platform::ZeApiVersion, _pi_context::ZeContext, and _pi_device::ZeDevice.
Referenced by cl::sycl::detail::sampler_impl::getOrCreateSampler(), and piPluginInit().
pi_result piSamplerGetInfo | ( | pi_sampler | sampler, |
pi_sampler_info | param_name, | ||
size_t | param_value_size, | ||
void * | param_value, | ||
size_t * | param_value_size_ret | ||
) |
Definition at line 1476 of file pi_esimd_emulator.cpp.
References cl::sycl::detail::pi::die(), and DIE_NO_IMPLEMENTATION.
Referenced by piPluginInit(), and cl::sycl::detail::sampler_impl::sampler_impl().
pi_result piSamplerRelease | ( | pi_sampler | sampler | ) |
Definition at line 1483 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_SAMPLER, PI_SUCCESS, ZE_CALL, and _pi_sampler::ZeSampler.
Referenced by piPluginInit(), and cl::sycl::detail::sampler_impl::~sampler_impl().
pi_result piSamplerRetain | ( | pi_sampler | sampler | ) |
Definition at line 1481 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_SAMPLER, and PI_SUCCESS.
Referenced by piPluginInit(), and cl::sycl::detail::sampler_impl::sampler_impl().
pi_result piTearDown | ( | void * | PluginParameter | ) |
API to notify that the plugin should clean up its resources.
No PI calls should be made until the next piPluginInit call.
PluginParameter | placeholder for future use, currenly not used. |
Definition at line 1974 of file pi_esimd_emulator.cpp.
References disableZeTracing(), PI_INVALID_MEM_OBJECT, PI_SUCCESS, PiESimdDeviceAccess, PiESimdSurfaceMap, PiPlatformsCache, and PiPlatformsCacheMutex.
Referenced by piPluginInit(), and cl::sycl::detail::shutdown().
|
staticconstexpr |
Definition at line 675 of file pi.h.
Referenced by piDeviceGetInfo(), and piDevicePartition().
|
staticconstexpr |
Definition at line 672 of file pi.h.
Referenced by piDeviceGetInfo(), and piDevicePartition().
|
static |
Definition at line 735 of file pi.h.
Referenced by cl::sycl::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage().
|
staticconstexpr |
Definition at line 729 of file pi.h.
Referenced by cl::sycl::detail::pi::getBinaryImageFormat(), and cl::sycl::detail::getFormatStr().
|
staticconstexpr |
Definition at line 724 of file pi.h.
Referenced by cl::sycl::detail::getFormatStr().
|
staticconstexpr |
Definition at line 722 of file pi.h.
Referenced by cl::sycl::detail::ProgramManager::createPIProgram(), cl::sycl::detail::pi::getBinaryImageFormat(), cl::sycl::detail::getFormatStr(), and cl::sycl::detail::pi::DeviceBinaryImage::init().
|
staticconstexpr |
Definition at line 727 of file pi.h.
Referenced by cl::sycl::detail::ProgramManager::build(), cl::sycl::detail::ProgramManager::compile(), cl::sycl::detail::ProgramManager::createPIProgram(), cl::sycl::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), cl::sycl::detail::pi::getBinaryImageFormat(), cl::sycl::detail::ProgramManager::getBuiltPIProgram(), cl::sycl::detail::getFormatStr(), cl::sycl::detail::isDeviceBinaryTypeSupported(), and cl::sycl::detail::RTDeviceBinaryImage::supportsSpecConstants().
|
static |
Definition at line 732 of file pi.h.
Referenced by cl::sycl::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage().
|
constexpr |
Definition at line 544 of file pi.h.
Referenced by piDeviceGetInfo().
|
constexpr |
Definition at line 547 of file pi.h.
Referenced by piDeviceGetInfo().
|
staticconstexpr |
Definition at line 667 of file pi.h.
Referenced by cl::sycl::detail::device_impl::create_sub_devices(), piDeviceGetInfo(), and piDevicePartition().
|
staticconstexpr |
const pi_bool PI_FALSE = CL_FALSE |
Definition at line 515 of file pi.h.
Referenced by cuda_piContextCreate(), cuda_piDeviceGetInfo(), hip_piContextCreate(), piDeviceGetInfo(), and piSamplerCreate().
|
constexpr |
Definition at line 593 of file pi.h.
Referenced by cuda_piEnqueueMemBufferMap(), hip_piEnqueueMemBufferMap(), cl::sycl::detail::MemoryManager::map(), and piEnqueueMemBufferMap().
|
constexpr |
Definition at line 594 of file pi.h.
Referenced by cuda_piEnqueueMemBufferMap(), cuda_piEnqueueMemUnmap(), hip_piEnqueueMemBufferMap(), hip_piEnqueueMemUnmap(), cl::sycl::detail::MemoryManager::map(), and piEnqueueMemBufferMap().
|
constexpr |
Definition at line 595 of file pi.h.
Referenced by cuda_piEnqueueMemUnmap(), hip_piEnqueueMemUnmap(), cl::sycl::detail::MemoryManager::map(), and piEnqueueMemBufferMap().
|
constexpr |
Definition at line 585 of file pi.h.
Referenced by cl::sycl::detail::getMemObjCreationFlags(), and piMemBufferCreate().
|
constexpr |
Definition at line 616 of file pi.h.
Referenced by piextUSMSharedAlloc().
|
constexpr |
Definition at line 608 of file pi.h.
Referenced by piextUSMSharedAlloc(), USMDeviceAllocImpl(), and USMHostAllocImpl().
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 584 of file pi.h.
Referenced by cl::sycl::detail::MemoryManager::allocateMemSubBuffer(), cuda_piMemBufferPartition(), cl::sycl::detail::device_image_impl::get_spec_const_buffer_ref(), cl::sycl::detail::getMemObjCreationFlags(), hip_piMemBufferPartition(), cl::sycl::detail::pi::memFlagsToString(), cl::sycl::detail::pi::memFlagToString(), piMemBufferCreate(), piMemBufferPartition(), and piMemImageCreate().
|
constexpr |
Definition at line 589 of file pi.h.
Referenced by cl::sycl::detail::MemoryManager::allocateBufferObject(), cuda_piMemBufferCreate(), hip_piMemBufferCreate(), and piMemBufferCreate().
|
constexpr |
Definition at line 588 of file pi.h.
Referenced by _pi_context::checkSurfaceArgument(), cuda_piMemBufferCreate(), cuda_piMemImageCreate(), cl::sycl::detail::device_image_impl::get_spec_const_buffer_ref(), cl::sycl::detail::getMemObjCreationFlags(), hip_piMemBufferCreate(), hip_piMemImageCreate(), cl::sycl::detail::pi::memFlagsToString(), cl::sycl::detail::pi::memFlagToString(), piMemBufferCreate(), and piMemImageCreate().
|
constexpr |
Definition at line 587 of file pi.h.
Referenced by _pi_context::checkSurfaceArgument(), cuda_piMemBufferCreate(), cuda_piMemImageCreate(), cl::sycl::detail::getMemObjCreationFlags(), hip_piMemBufferCreate(), hip_piMemImageCreate(), cl::sycl::detail::pi::memFlagsToString(), cl::sycl::detail::pi::memFlagToString(), piMemBufferCreate(), and piMemImageCreate().
|
constexpr |
Definition at line 602 of file pi.h.
Referenced by cl::sycl::detail::MemoryManager::allocateBufferObject().
|
constexpr |
Definition at line 601 of file pi.h.
Referenced by cl::sycl::detail::get_device_info< bool, info::device::ext_intel_mem_channel >::get().
|
constexpr |
|
constexpr |
Definition at line 561 of file pi.h.
Referenced by cuda_piContextGetInfo(), cuda_piDeviceGetInfo(), and cl::sycl::detail::readMemoryOrderBitfield().
|
constexpr |
Definition at line 559 of file pi.h.
Referenced by cuda_piContextGetInfo(), cuda_piDeviceGetInfo(), and cl::sycl::detail::readMemoryOrderBitfield().
|
constexpr |
Definition at line 558 of file pi.h.
Referenced by cuda_piContextGetInfo(), cuda_piDeviceGetInfo(), and cl::sycl::detail::readMemoryOrderBitfield().
|
constexpr |
Definition at line 560 of file pi.h.
Referenced by cuda_piContextGetInfo(), cuda_piDeviceGetInfo(), and cl::sycl::detail::readMemoryOrderBitfield().
|
constexpr |
Definition at line 562 of file pi.h.
Referenced by cl::sycl::detail::readMemoryOrderBitfield().
|
constexpr |
Definition at line 568 of file pi.h.
Referenced by cuda_piContextGetInfo(), cuda_piDeviceGetInfo(), and cl::sycl::detail::readMemoryScopeBitfield().
|
constexpr |
Definition at line 566 of file pi.h.
Referenced by cuda_piContextGetInfo(), cuda_piDeviceGetInfo(), and cl::sycl::detail::readMemoryScopeBitfield().
|
constexpr |
Definition at line 569 of file pi.h.
Referenced by cuda_piContextGetInfo(), cuda_piDeviceGetInfo(), and cl::sycl::detail::readMemoryScopeBitfield().
|
constexpr |
Definition at line 567 of file pi.h.
Referenced by cuda_piContextGetInfo(), cuda_piDeviceGetInfo(), and cl::sycl::detail::readMemoryScopeBitfield().
|
constexpr |
Definition at line 565 of file pi.h.
Referenced by cuda_piContextGetInfo(), cuda_piDeviceGetInfo(), and cl::sycl::detail::readMemoryScopeBitfield().
|
constexpr |
Definition at line 628 of file pi.h.
Referenced by piDeviceGetInfo(), and piQueueCreate().
|
constexpr |
Definition at line 629 of file pi.h.
Referenced by piQueueCreate().
|
constexpr |
Definition at line 624 of file pi.h.
Referenced by cl::sycl::detail::queue_impl::createQueue(), cuda_piQueueCreate(), _pi_queue::isInOrderQueue(), piDeviceGetInfo(), and piQueueCreate().
|
constexpr |
Definition at line 626 of file pi.h.
Referenced by cl::sycl::detail::queue_impl::createQueue(), cuda_piEventGetProfilingInfo(), EventCreate(), hip_piEventGetProfilingInfo(), _pi_event::isProfilingEnabled(), piDeviceGetInfo(), piEventGetProfilingInfo(), piQueueCreate(), _pi_event::release(), and _pi_event::start().
|
constexpr |
Definition at line 552 of file pi.h.
Referenced by cuda_piSamplerCreate(), hip_piSamplerCreate(), and piSamplerCreate().
|
constexpr |
Definition at line 554 of file pi.h.
Referenced by cuda_piSamplerCreate(), hip_piSamplerCreate(), and piSamplerCreate().
|
constexpr |
Definition at line 550 of file pi.h.
Referenced by cuda_piSamplerCreate(), hip_piSamplerCreate(), and piSamplerCreate().
const pi_bool PI_TRUE = CL_TRUE |
Definition at line 514 of file pi.h.
Referenced by cuda_piContextCreate(), cuda_piDeviceGetInfo(), cl::sycl::detail::ProgramManager::getBuiltPIProgram(), cl::sycl::detail::ProgramManager::getOrCreateKernel(), hip_piContextCreate(), hip_piDeviceGetInfo(), cl::sycl::detail::kernel_impl::kernel_impl(), piKernelSetExecInfo(), and piSamplerCreate().