#include <sycl/detail/export.hpp>
#include <cstddef>
#include <cstdint>
#include <variant>
#include <sycl/detail/pi_error.def>
#include <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 13 |
#define | _PI_H_VERSION_MINOR 32 |
#define | _PI_STRING_HELPER(a) #a |
#define | _PI_CONCAT(a, b) _PI_STRING_HELPER(a.b) |
#define | _PI_TRIPLE_CONCAT(a, b, c) _PI_STRING_HELPER(a.b.c) |
#define | _PI_PLUGIN_VERSION_STRING(PluginVersion) _PI_TRIPLE_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR, PluginVersion) |
#define | _PI_H_VERSION_STRING _PI_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR) |
#define | _PI_STRING_SUBSTITUTE(X) _PI_STRING_HELPER(X) |
#define | _PI_PLUGIN_VERSION_CHECK(PI_API_VERSION, PI_PLUGIN_VERSION) |
#define | _PI_ERRC(NAME, VAL) NAME = VAL, |
#define | _PI_ERRC_WITH_MSG(NAME, VAL, MSG) NAME = VAL, |
#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_PROPERTY_SET_SYCL_DEVICE_REQUIREMENTS "SYCL/device requirements" |
PropertySetRegistry::SYCL_DEVICE_REQUIREMENTS defined in PropertySetIO.h. More... | |
#define | __SYCL_PI_PROPERTY_SET_SYCL_HOST_PIPES "SYCL/host pipes" |
PropertySetRegistry::SYCL_HOST_PIPES 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 | __SYCL_PI_PROGRAM_METADATA_GLOBAL_ID_MAPPING "@global_id_mapping" |
#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 | piextQueueCreate (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, int32_t *nativeHandleDesc) |
Gets the native handle of a PI queue object. More... | |
pi_result | piextQueueCreateWithNativeHandle (pi_native_handle nativeHandle, int32_t nativeHandleDesc, pi_context context, pi_device device, bool pluginOwnsNativeHandle, pi_queue_properties *Properties, 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 | piextMemImageCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, bool ownNativeHandle, const pi_image_format *ImageFormat, const pi_image_desc *ImageDesc, pi_mem *img) |
Creates PI image 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, _pi_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) |
Create PI event object in a signalled/completed state. More... | |
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 | piextUSMEnqueueFill2D (pi_queue queue, void *ptr, size_t pitch, size_t pattern_size, const void *pattern, size_t width, size_t height, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event) |
USM 2D fill API. More... | |
pi_result | piextUSMEnqueueMemset2D (pi_queue queue, void *ptr, size_t pitch, int value, size_t width, size_t height, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event) |
USM 2D Memset API. More... | |
pi_result | piextUSMEnqueueMemcpy2D (pi_queue queue, pi_bool blocking, void *dst_ptr, size_t dst_pitch, const void *src_ptr, size_t src_pitch, size_t width, size_t height, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event) |
USM 2D Memcpy API. More... | |
pi_result | piextEnqueueDeviceGlobalVariableWrite (pi_queue queue, pi_program program, const char *name, pi_bool blocking_write, size_t count, size_t offset, const void *src, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
Device global variable. More... | |
pi_result | piextEnqueueDeviceGlobalVariableRead (pi_queue queue, pi_program program, const char *name, pi_bool blocking_read, size_t count, size_t offset, void *dst, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event) |
API reading data from a device global variable to host. More... | |
pi_result | piextEnqueueReadHostPipe (pi_queue queue, pi_program program, const char *pipe_symbol, pi_bool blocking, void *ptr, size_t size, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event) |
Plugin. More... | |
pi_result | piextEnqueueWriteHostPipe (pi_queue queue, pi_program program, const char *pipe_symbol, pi_bool blocking, void *ptr, size_t size, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event) |
Write to pipe of a given name. 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... | |
pi_result | piPluginGetBackendOption (pi_platform platform, const char *frontend_option, const char **backend_option) |
API to get backend specific option. More... | |
pi_result | piGetDeviceAndHostTimer (pi_device Device, uint64_t *DeviceTime, uint64_t *HostTime) |
Queries device for it's global timestamp in nanoseconds, and updates HostTime with the value of the host timer at the closest possible point in time to that at which DeviceTime was returned. 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_GLOBAL_ID_MAPPING "@global_id_mapping" |
#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_DEVICE_REQUIREMENTS "SYCL/device requirements" |
#define __SYCL_PI_PROPERTY_SET_SYCL_EXPORTED_SYMBOLS "SYCL/exported symbols" |
#define __SYCL_PI_PROPERTY_SET_SYCL_HOST_PIPES "SYCL/host pipes" |
#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_PLUGIN_VERSION_CHECK | ( | PI_API_VERSION, | |
PI_PLUGIN_VERSION | |||
) |
#define _PI_PLUGIN_VERSION_STRING | ( | PluginVersion | ) | _PI_TRIPLE_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR, PluginVersion) |
#define _PI_STRING_SUBSTITUTE | ( | X | ) | _PI_STRING_HELPER(X) |
#define _PI_TRIPLE_CONCAT | ( | a, | |
b, | |||
c | |||
) | _PI_STRING_HELPER(a.b.c) |
#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_fp_config = pi_bitfield |
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_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_backend |
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 |
|
inline |
Definition at line 1358 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, and pi2ur::piclProgramCreateWithSource().
Referenced by piclProgramCreateWithSource(), and 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 sycl::_V1::detail::context_impl::context_impl(), and piPluginInit().
|
inline |
Definition at line 897 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, fixupInfoValueTypes(), HANDLE_ERRORS, sycl::_V1::detail::memcpy(), PI_ASSERT, PI_CONTEXT_INFO_DEVICES, PI_CONTEXT_INFO_NUM_DEVICES, PI_CONTEXT_INFO_REFERENCE_COUNT, PI_EXT_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES, PI_EXT_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES, PI_EXT_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES, PI_EXT_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES, PI_EXT_ONEAPI_CONTEXT_INFO_USM_FILL2D_SUPPORT, PI_EXT_ONEAPI_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT, PI_EXT_ONEAPI_CONTEXT_INFO_USM_MEMSET2D_SUPPORT, pi2ur::piContextGetInfo(), setErrorMessage(), and urContextGetInfo().
Referenced by sycl::_V1::checkContextSupports(), sycl::_V1::detail::context_impl::context_impl(), sycl::_V1::detail::MemoryManager::copy_2d_usm(), sycl::_V1::detail::createBinaryProgram(), sycl::_V1::detail::get_context_info(), piContextGetInfo(), and piPluginInit().
|
inline |
TODO : Encapsulating accesses (add/remove) for Addr2CmBufferSVM
Definition at line 927 of file pi_esimd_emulator.cpp.
References _pi_context::Addr2CmBufferSVM, _pi_context::Addr2CmBufferSVMLock, _pi_device::CmDevicePtr, _pi_context::Device, HANDLE_ERRORS, pi2ur::piContextRelease(), and urContextRelease().
Referenced by piContextRelease(), piPluginInit(), and sycl::_V1::detail::context_impl::~context_impl().
|
inline |
Definition at line 917 of file pi_esimd_emulator.cpp.
References HANDLE_ERRORS, pi2ur::piContextRetain(), and urContextRetain().
Referenced by sycl::_V1::detail::context_impl::context_impl(), sycl::_V1::detail::context_impl::get(), sycl::_V1::detail::context_impl::getNative(), piContextRetain(), and piPluginInit().
|
inline |
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 616 of file pi_esimd_emulator.cpp.
References CASE_PI_UNSUPPORTED, checkDeviceExtensions(), DIE_NO_IMPLEMENTATION, ESIMDEmuPluginDataVersion, ESIMDEmuPluginInterfaceVersion, ESimdEmuVersionString, fixupInfoValueTypes(), getDeviceVersion(), HANDLE_ERRORS, max(), sycl::_V1::detail::memcpy(), PI_ASSERT, PI_DEVICE_EXEC_CAPABILITIES_KERNEL, PI_DEVICE_INFO_ADDRESS_BITS, PI_DEVICE_INFO_ATOMIC_64, PI_DEVICE_INFO_AVAILABLE, PI_DEVICE_INFO_BACKEND_VERSION, PI_DEVICE_INFO_BUILD_ON_SUBDEVICE, PI_DEVICE_INFO_BUILT_IN_KERNELS, PI_DEVICE_INFO_COMPILER_AVAILABLE, PI_DEVICE_INFO_DEVICE_ID, 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_TYPE_GPU, PI_EXT_DEVICE_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES, PI_EXT_DEVICE_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES, PI_EXT_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES, PI_EXT_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES, PI_EXT_INTEL_DEVICE_INFO_FREE_MEMORY, PI_EXT_INTEL_DEVICE_INFO_MAX_COMPUTE_QUEUE_INDICES, PI_EXT_INTEL_DEVICE_INFO_MEM_CHANNEL_SUPPORT, PI_EXT_INTEL_DEVICE_INFO_MEMORY_BUS_WIDTH, PI_EXT_INTEL_DEVICE_INFO_MEMORY_CLOCK_RATE, PI_EXT_ONEAPI_DEVICE_INFO_BFLOAT16_MATH_FUNCTIONS, 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_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_MEMORY_ORDER_ACQ_REL, PI_MEMORY_ORDER_ACQUIRE, PI_MEMORY_ORDER_RELAXED, PI_MEMORY_ORDER_RELEASE, PI_MEMORY_ORDER_SEQ_CST, PI_MEMORY_SCOPE_DEVICE, PI_MEMORY_SCOPE_SUB_GROUP, PI_MEMORY_SCOPE_SYSTEM, PI_MEMORY_SCOPE_WORK_GROUP, PI_MEMORY_SCOPE_WORK_ITEM, PI_QUEUE_FLAG_ON_DEVICE, PI_USM_ACCESS, PI_USM_ATOMIC_ACCESS, PI_USM_CONCURRENT_ACCESS, PI_USM_CONCURRENT_ATOMIC_ACCESS, pi2ur::piDeviceGetInfo(), ur2piDeviceInfoValue(), UR_EXT_DEVICE_INFO_OPENCL_C_VERSION, urDeviceGetInfo(), OCLV::V2_0, OCLV::V2_1, and OCLV::V3_0.
Referenced by sycl::_V1::detail::applyAllowList(), sycl::_V1::detail::checkNativeQueueProfiling(), sycl::_V1::detail::get_device_info_impl< ReturnT, Param >::get(), sycl::_V1::detail::get_device_info_impl< platform, Param >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< info::fp_config >, Param >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< info::fp_config >, info::device::single_fp_config >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< memory_order >, info::device::atomic_memory_order_capabilities >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< memory_order >, info::device::atomic_fence_order_capabilities >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< memory_scope >, info::device::atomic_memory_scope_capabilities >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< memory_scope >, info::device::atomic_fence_scope_capabilities >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::ext_oneapi_bfloat16_math_functions >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< info::execution_capability >, info::device::execution_capabilities >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< info::partition_property >, info::device::partition_properties >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< info::partition_affinity_domain >, info::device::partition_affinity_domains >::get(), sycl::_V1::detail::get_device_info_impl< info::partition_affinity_domain, info::device::partition_type_affinity_domain >::get(), sycl::_V1::detail::get_device_info_impl< info::partition_property, info::device::partition_type_property >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< size_t >, info::device::sub_group_sizes >::get(), sycl::_V1::detail::get_device_info_impl< id< Dimensions >, info::device::max_work_item_sizes< Dimensions > >::get(), sycl::_V1::detail::get_device_info_impl< id< 1 >, ext::oneapi::experimental::info::device::max_work_groups< 1 > >::get(), sycl::_V1::detail::get_device_info_impl< id< 2 >, ext::oneapi::experimental::info::device::max_work_groups< 2 > >::get(), sycl::_V1::detail::get_device_info_impl< id< 3 >, ext::oneapi::experimental::info::device::max_work_groups< 3 > >::get(), sycl::_V1::detail::get_device_info_impl< device, info::device::parent_device >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_device_allocations >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_host_allocations >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_shared_allocations >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_restricted_shared_allocations >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_system_allocations >::get(), sycl::_V1::detail::get_device_info_impl< uint32_t, ext::codeplay::experimental::info::device::max_registers_per_work_group >::get(), sycl::_V1::detail::device_impl::get_device_info_string(), sycl::_V1::detail::ProgramManager::getBuiltPIProgram(), sycl::_V1::detail::platform_impl::getPlatformFromPiDevice(), sycl::_V1::detail::ProgramManager::getProgramBuildLog(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidValue(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidWorkItemSize(), sycl::_V1::detail::device_impl::has(), sycl::_V1::opencl::has_extension(), piDeviceGetInfo(), piKernelGetSubGroupInfo(), and piPluginInit().
|
inline |
Definition at line 852 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE, PI_DEVICE_AFFINITY_DOMAIN_NUMA, PI_DEVICE_PARTITION_BY_AFFINITY_DOMAIN, PI_DEVICE_PARTITION_BY_COUNTS, PI_DEVICE_PARTITION_EQUALLY, PI_EXT_INTEL_DEVICE_PARTITION_BY_CSLICE, pi2ur::piDevicePartition(), and urDevicePartition().
Referenced by sycl::_V1::detail::device_impl::create_sub_devices(), piDevicePartition(), and piPluginInit().
Definition at line 606 of file pi_esimd_emulator.cpp.
References HANDLE_ERRORS, PI_ASSERT, pi2ur::piDeviceRelease(), and urDeviceRelease().
Referenced by sycl::_V1::detail::platform_impl::get_devices(), piDeviceRelease(), piPluginInit(), and sycl::_V1::detail::device_impl::~device_impl().
Definition at line 596 of file pi_esimd_emulator.cpp.
References HANDLE_ERRORS, PI_ASSERT, pi2ur::piDeviceRetain(), and urDeviceRetain().
Referenced by sycl::_V1::detail::device_impl::get(), sycl::_V1::detail::device_impl::getNative(), piDeviceRetain(), and piPluginInit().
|
inline |
Runtime queries number of devices
No GPU entry to fill 'Devices' array
Definition at line 508 of file pi_esimd_emulator.cpp.
References HANDLE_ERRORS, PI_ASSERT, PI_DEVICE_TYPE_ACC, PI_DEVICE_TYPE_ALL, PI_DEVICE_TYPE_CPU, PI_DEVICE_TYPE_GPU, _pi_platform::PiDeviceCache, pi2ur::piDevicesGet(), PiTrace(), _pi_platform::populateDeviceCacheIfNeeded(), and urDeviceGet().
Referenced by sycl::_V1::detail::platform_impl::get_devices(), piDevicesGet(), and piPluginInit().
|
inline |
Definition at line 1569 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piEnqueueEventsWait(), and urEnqueueEventsWait().
Referenced by sycl::_V1::detail::MemoryManager::copy_2d_usm(), sycl::_V1::detail::MemoryManager::copy_usm(), sycl::_V1::detail::MemoryManager::fill_2d_usm(), sycl::_V1::detail::MemoryManager::fill_usm(), sycl::_V1::detail::MemoryManager::memset_2d_usm(), piEnqueueEventsWait(), piPluginInit(), and sycl::_V1::detail::Command::waitForEvents().
|
inline |
Definition at line 1574 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piEnqueueEventsWaitWithBarrier(), and urEnqueueEventsWaitWithBarrier().
Referenced by piEnqueueEventsWaitWithBarrier(), and piPluginInit().
|
inline |
Definition at line 1851 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, InvokeImpl< NDims >::invoke(), isNull(), PI_ASSERT, pi2ur::piEnqueueKernelLaunch(), _pi_event::release(), and urEnqueueKernelLaunch().
Referenced by piEnqueueKernelLaunch(), and piPluginInit().
|
inline |
Definition at line 1659 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piEnqueueMemBufferCopy(), and urEnqueueMemBufferCopy().
Referenced by sycl::_V1::detail::copyD2D(), piEnqueueMemBufferCopy(), and piPluginInit().
|
inline |
Definition at line 1665 of file pi_esimd_emulator.cpp.
References pi_buff_rect_region_struct::depth_scalar, DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi_buff_rect_region_struct::height_scalar, PI_ASSERT, pi2ur::piEnqueueMemBufferCopyRect(), urEnqueueMemBufferCopyRect(), pi_buff_rect_region_struct::width_bytes, pi_buff_rect_offset_struct::x_bytes, pi_buff_rect_offset_struct::y_scalar, and pi_buff_rect_offset_struct::z_scalar.
Referenced by sycl::_V1::detail::copyD2D(), piEnqueueMemBufferCopyRect(), and piPluginInit().
|
inline |
Definition at line 1673 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piEnqueueMemBufferFill(), and urEnqueueMemBufferFill().
Referenced by sycl::_V1::detail::MemoryManager::fill(), piEnqueueMemBufferFill(), and piPluginInit().
|
inline |
Definition at line 1679 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, HANDLE_ERRORS, _pi_mem::MapHostPtr, _pi_mem::Mappings, _pi_mem::MappingsMutex, PI_ASSERT, PI_MAP_READ, PI_MAP_WRITE, PI_MAP_WRITE_INVALIDATE_REGION, pi2ur::piEnqueueMemBufferMap(), PiTrace(), _pi_event::release(), and urEnqueueMemBufferMap().
Referenced by sycl::_V1::detail::memBufferMapHelper(), piEnqueueMemBufferMap(), and piPluginInit().
|
inline |
TODO : Support Blocked read, 'Queue' handling
Definition at line 1579 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, HANDLE_ERRORS, _pi_mem::MapHostPtr, sycl::_V1::detail::memcpy(), PI_ASSERT, pi2ur::piEnqueueMemBufferRead(), PiTrace(), cm_surface_ptr_t::RegularBufPtr, _pi_event::release(), _pi_mem::SurfacePtr, cm_surface_ptr_t::tag, cm_surface_ptr_t::TypeRegularBuffer, cm_surface_ptr_t::TypeUserProvidedBuffer, and urEnqueueMemBufferRead().
Referenced by sycl::_V1::detail::copyD2H(), piEnqueueMemBufferRead(), and piPluginInit().
|
inline |
Definition at line 1637 of file pi_esimd_emulator.cpp.
References pi_buff_rect_region_struct::depth_scalar, DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi_buff_rect_region_struct::height_scalar, PI_ASSERT, pi2ur::piEnqueueMemBufferReadRect(), urEnqueueMemBufferReadRect(), pi_buff_rect_region_struct::width_bytes, pi_buff_rect_offset_struct::x_bytes, pi_buff_rect_offset_struct::y_scalar, and pi_buff_rect_offset_struct::z_scalar.
Referenced by sycl::_V1::detail::copyD2H(), piEnqueueMemBufferReadRect(), and piPluginInit().
|
inline |
Definition at line 1645 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piEnqueueMemBufferWrite(), and urEnqueueMemBufferWrite().
Referenced by sycl::_V1::detail::copyH2D(), piEnqueueMemBufferWrite(), and piPluginInit().
|
inline |
Definition at line 1651 of file pi_esimd_emulator.cpp.
References pi_buff_rect_region_struct::depth_scalar, DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi_buff_rect_region_struct::height_scalar, PI_ASSERT, pi2ur::piEnqueueMemBufferWriteRect(), urEnqueueMemBufferWriteRect(), pi_buff_rect_region_struct::width_bytes, pi_buff_rect_offset_struct::x_bytes, pi_buff_rect_offset_struct::y_scalar, and pi_buff_rect_offset_struct::z_scalar.
Referenced by sycl::_V1::detail::copyH2D(), piEnqueueMemBufferWriteRect(), and piPluginInit().
|
inline |
Definition at line 1833 of file pi_esimd_emulator.cpp.
References pi_image_region_struct::depth, DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi_image_region_struct::height, PI_ASSERT, pi2ur::piEnqueueMemImageCopy(), urEnqueueMemImageCopy(), pi_image_region_struct::width, pi_image_offset_struct::x, pi_image_offset_struct::y, and pi_image_offset_struct::z.
Referenced by sycl::_V1::detail::copyD2D(), piEnqueueMemImageCopy(), and piPluginInit().
|
inline |
Definition at line 1839 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, PI_ASSERT, and pi2ur::piEnqueueMemImageFill().
Referenced by sycl::_V1::detail::MemoryManager::fill(), piEnqueueMemImageFill(), and piPluginInit().
|
inline |
TODO : Support Blocked read, 'Queue' handling
Definition at line 1762 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, pi_image_region_struct::depth, HANDLE_ERRORS, pi_image_region_struct::height, _pi_mem::MapHostPtr, sycl::_V1::detail::memcpy(), PI_ASSERT, pi2ur::piEnqueueMemImageRead(), PiTrace(), 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, urEnqueueMemImageRead(), pi_image_region_struct::width, pi_image_offset_struct::x, pi_image_offset_struct::y, and pi_image_offset_struct::z.
Referenced by piEnqueueMemImageRead(), and piPluginInit().
|
inline |
Definition at line 1827 of file pi_esimd_emulator.cpp.
References pi_image_region_struct::depth, DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi_image_region_struct::height, PI_ASSERT, pi2ur::piEnqueueMemImageWrite(), urEnqueueMemImageWrite(), pi_image_region_struct::width, pi_image_offset_struct::x, pi_image_offset_struct::y, and pi_image_offset_struct::z.
Referenced by piEnqueueMemImageWrite(), and piPluginInit().
|
inline |
Definition at line 1722 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, HANDLE_ERRORS, _pi_mem::Mappings, _pi_mem::MappingsMutex, PI_ASSERT, pi2ur::piEnqueueMemUnmap(), PiTrace(), _pi_event::release(), and urEnqueueMemUnmap().
Referenced by sycl::_V1::detail::memUnmapHelper(), piEnqueueMemUnmap(), and piPluginInit().
|
inline |
Definition at line 1921 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, PI_ASSERT, and pi2ur::piEnqueueNativeKernel().
Referenced by piEnqueueNativeKernel(), and piPluginInit().
|
inline |
Create PI event object in a signalled/completed state.
context | is the PI context of the event. |
ret_event | is the PI even created. |
Definition at line 1440 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi2ur::piEventCreate(), and urEventCreateWithNativeHandle().
Referenced by piEventCreate(), and piPluginInit().
|
inline |
Definition at line 1442 of file pi_esimd_emulator.cpp.
References _pi_event::CmEventPtr, DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, _pi_event::IsDummyEvent, PI_ASSERT, PI_EVENT_COMPLETE, 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_EVENT_RUNNING, pi2ur::piEventGetInfo(), and urEventGetInfo().
Referenced by sycl::_V1::detail::event_impl::event_impl(), sycl::_V1::detail::event_impl::flushIfNeeded(), sycl::_V1::detail::get_event_info(), piEventGetInfo(), and piPluginInit().
|
inline |
Definition at line 1478 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, HANDLE_ERRORS, PI_ASSERT, PI_PROFILING_INFO_COMMAND_END, PI_PROFILING_INFO_COMMAND_QUEUED, PI_PROFILING_INFO_COMMAND_START, PI_PROFILING_INFO_COMMAND_SUBMIT, pi2ur::piEventGetProfilingInfo(), PiTrace(), and urEventGetProfilingInfo().
Referenced by sycl::_V1::detail::get_event_profiling_info(), piEventGetProfilingInfo(), and piPluginInit().
Definition at line 1526 of file pi_esimd_emulator.cpp.
References _pi_event::CmEventPtr, HANDLE_ERRORS, _pi_event::IsDummyEvent, _pi_event::OwnerQueue, PI_ASSERT, pi2ur::piEventRelease(), and urEventRelease().
Referenced by sycl::_V1::detail::DeviceGlobalUSMMem::getZeroInitEvent(), sycl::_V1::detail::context_impl::initializeDeviceGlobals(), piEventRelease(), piPluginInit(), sycl::_V1::detail::DeviceGlobalMapEntry::removeAssociatedResources(), sycl::_V1::detail::event_impl::~event_impl(), and sycl::_V1::detail::OwnedPiEvent::~OwnedPiEvent().
Definition at line 1516 of file pi_esimd_emulator.cpp.
References HANDLE_ERRORS, PI_ASSERT, pi2ur::piEventRetain(), and urEventRetain().
Referenced by sycl::_V1::detail::MemoryManager::allocateInteropMemObject(), sycl::_V1::detail::event_impl::getNative(), sycl::_V1::detail::make_event(), sycl::_V1::detail::OwnedPiEvent::OwnedPiEvent(), piEventRetain(), 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 1514 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, and pi2ur::piEventSetStatus().
Referenced by piEventSetStatus(), and piPluginInit().
Definition at line 1491 of file pi_esimd_emulator.cpp.
References _pi_event::CmEventPtr, HANDLE_ERRORS, pi2ur::piEventsWait(), and urEventWait().
Referenced by sycl::_V1::detail::memUnmapHelper(), piEventsWait(), piPluginInit(), sycl::_V1::detail::waitForEvents(), sycl::_V1::detail::Command::waitForEvents(), and sycl::_V1::detail::event_impl::waitInternal().
|
inline |
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 911 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextContextCreateWithNativeHandle(), and urContextCreateWithNativeHandle().
Referenced by sycl::_V1::ext::oneapi::level_zero::make_context(), sycl::_V1::detail::make_context(), piextContextCreateWithNativeHandle(), and piPluginInit().
|
inline |
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 907 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi2ur::piextContextGetNativeHandle(), piextGetNativeHandle(), and urContextGetNativeHandle().
Referenced by sycl::_V1::detail::context_impl::getNative(), piextContextGetNativeHandle(), and piPluginInit().
|
inline |
Definition at line 902 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi2ur::piextContextSetExtendedDeleter(), and urContextSetExtendedDeleter().
Referenced by sycl::_V1::detail::pi::contextSetExtendedDeleter(), piextContextSetExtendedDeleter(), and piPluginInit().
|
inline |
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 861 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextDeviceCreateWithNativeHandle(), and urDeviceCreateWithNativeHandle().
Referenced by sycl::_V1::ext::oneapi::level_zero::make_device(), sycl::_V1::detail::make_device(), piextDeviceCreateWithNativeHandle(), and piPluginInit().
|
inline |
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 857 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextDeviceGetNativeHandle(), piextGetNativeHandle(), and urDeviceGetNativeHandle().
Referenced by sycl::_V1::detail::device_impl::getNative(), piextDeviceGetNativeHandle(), and piPluginInit().
|
inline |
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 2069 of file pi_esimd_emulator.cpp.
References __SYCL_PI_DEVICE_BINARY_TARGET_AMDGCN, __SYCL_PI_DEVICE_BINARY_TARGET_NVPTX64, __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV32, __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, __SYCL_PI_DEVICE_BINARY_TARGET_UNKNOWN, HANDLE_ERRORS, max(), pi2ur::piextDeviceSelectBinary(), PiTrace(), and urDeviceSelectBinary().
Referenced by sycl::_V1::detail::compatibleWithDevice(), sycl::_V1::detail::ProgramManager::getDeviceImage(), piextDeviceSelectBinary(), and piPluginInit().
|
inline |
API reading data from a device global variable to host.
queue | is the queue |
program | is the program containing the device global variable |
blocking_read | is true if the read should block |
name | is the unique identifier for the device global variable |
count | is the number of bytes to copy |
offset | is the byte offset into the device global variable to start copying |
dst | is a pointer to where the data must be copied to |
num_events_in_wait_list | is a number of events in the wait list |
event_wait_list | is the wait list |
event | is the resulting event |
Queue | is the queue |
Program | is the program containing the device global variable |
Name | is the unique identifier for the device global variable |
BlockingRead | is true if the read should block |
Count | is the number of bytes to copy |
Offset | is the byte offset into the device global variable to start copying |
Dst | is a pointer to where the data must be copied to |
NumEventsInWaitList | is a number of events in the wait list |
EventWaitList | is the wait list |
Event | is the resulting event |
queue | is the queue |
program | is the program containing the device global variable |
name | is the unique identifier for the device global variable |
blocking_read | is true if the read should block |
count | is the number of bytes to copy |
offset | is the byte offset into the device global variable to start copying |
dst | is a pointer to where the data must be copied to |
num_events_in_wait_list | is a number of events in the wait list |
event_wait_list | is the wait list |
event | is the resulting event |
Definition at line 2094 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCacheT::clEnqueueReadGlobalVariableCache, clEnqueueReadGlobalVariableName, DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextEnqueueDeviceGlobalVariableRead(), and urEnqueueDeviceGlobalVariableRead().
Referenced by sycl::_V1::detail::memcpyFromDeviceGlobalDirect(), piextEnqueueDeviceGlobalVariableRead(), and piPluginInit().
|
inline |
Device global variable.
API for writing data from host to a device global variable.
queue | is the queue |
program | is the program containing the device global variable |
blocking_write | is true if the write should block |
name | is the unique identifier for the device global variable |
count | is the number of bytes to copy |
offset | is the byte offset into the device global variable to start copying |
src | is a pointer to where the data must be copied from |
num_events_in_wait_list | is a number of events in the wait list |
event_wait_list | is the wait list |
event | is the resulting event |
Device global variable.
Queue | is the queue |
Program | is the program containing the device global variable |
Name | is the unique identifier for the device global variable |
BlockingWrite | is true if the write should block |
Count | is the number of bytes to copy |
Offset | is the byte offset into the device global variable to start copying |
Src | is a pointer to where the data must be copied from |
NumEventsInWaitList | is a number of events in the wait list |
EventWaitList | is the wait list |
Event | is the resulting event |
Device global variable.
queue | is the queue |
program | is the program containing the device global variable |
name | is the unique identifier for the device global variable |
blocking_write | is true if the write should block |
count | is the number of bytes to copy |
offset | is the byte offset into the device global variable to start copying |
src | is a pointer to where the data must be copied from |
num_events_in_wait_list | is a number of events in the wait list |
event_wait_list | is the wait list |
event | is the resulting event |
Definition at line 2087 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCacheT::clEnqueueWriteGlobalVariableCache, clEnqueueWriteGlobalVariableName, DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextEnqueueDeviceGlobalVariableWrite(), and urEnqueueDeviceGlobalVariableWrite().
Referenced by sycl::_V1::detail::context_impl::initializeDeviceGlobals(), sycl::_V1::detail::memcpyToDeviceGlobalDirect(), piextEnqueueDeviceGlobalVariableWrite(), and piPluginInit().
|
inline |
Plugin.
Read from pipe of a given name
queue | a valid host command-queue in which the read / write command will be queued. command_queue and program must be created with the same OpenCL context. |
program | a program object with a successfully built executable. |
pipe_symbol | the name of the program scope pipe global variable. |
blocking | indicate if the read and write operations are blocking or non-blocking |
ptr | a pointer to buffer in host memory that will hold resulting data from pipe |
size | size of the memory region to read or write, in bytes. |
num_events_in_waitlist | number of events in the wait list. |
events_waitlist | specify events that need to complete before this particular command can be executed. |
event | returns an event object that identifies this read / write command and can be used to query or queue a wait for this command to complete. |
Plugin.
Plugin.
Queue | is the queue |
Program | is the program containing the device variable |
PipeSymbol | is the unique identifier for the device variable |
Blocking | is true if the write should block |
Ptr | is a pointer to where the data will be copied to |
Size | is size of the data that is read/written from/to pipe |
NumEventsInWaitList | is a number of events in the wait list |
EventWaitList | is the wait list |
Event | is the resulting event |
Definition at line 2047 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCacheT::clEnqueueReadHostPipeINTELCache, clEnqueueReadHostPipeName, sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, PI_ASSERT, and urEnqueueReadHostPipe().
Referenced by sycl::_V1::detail::enqueueReadWriteHostPipe(), and piPluginInit().
|
inline |
Write to pipe of a given name.
queue | a valid host command-queue in which the read / write command will be queued. command_queue and program must be created with the same OpenCL context. |
program | a program object with a successfully built executable. |
pipe_symbol | the name of the program scope pipe global variable. |
blocking | indicate if the read and write operations are blocking or non-blocking |
ptr | a pointer to buffer in host memory that holds data to be written to host pipe. |
size | size of the memory region to read or write, in bytes. |
num_events_in_waitlist | number of events in the wait list. |
events_waitlist | specify events that need to complete before this particular command can be executed. |
event | returns an event object that identifies this read / write command and can be used to query or queue a wait for this command to complete. |
Write to pipe of a given name.
Queue | is the queue |
Program | is the program containing the device variable |
PipeSymbol | is the unique identifier for the device variable |
Blocking | is true if the write should block |
Ptr | is a pointer to where the data must be copied from |
Size | is size of the data that is read/written from/to pipe |
NumEventsInWaitList | is a number of events in the wait list |
EventWaitList | is the wait list |
Event | is the resulting event |
Definition at line 2053 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCacheT::clEnqueueWriteHostPipeINTELCache, clEnqueueWriteHostPipeName, sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, PI_ASSERT, and urEnqueueWriteHostPipe().
Referenced by sycl::_V1::detail::enqueueReadWriteHostPipe(), and piPluginInit().
|
inline |
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 1551 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextEventCreateWithNativeHandle(), and urEventCreateWithNativeHandle().
Referenced by sycl::_V1::detail::make_event(), piextEventCreateWithNativeHandle(), and piPluginInit().
|
inline |
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 1547 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextEventGetNativeHandle(), and urEventGetNativeHandle().
Referenced by sycl::_V1::detail::event_impl::getNative(), piextEventGetNativeHandle(), and piPluginInit().
|
inline |
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_ERROR_FUNCTION_ADDRESS_IS_NOT_AVAILABLE is returned. If the address does not exist PI_ERROR_INVALID_KERNEL_NAME is returned.
Definition at line 1927 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCacheT::clGetDeviceFunctionPointerCache, clGetDeviceFunctionPointerName, DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, is_in_separated_string(), PI_ASSERT, PI_PROGRAM_INFO_KERNEL_NAMES, pi2ur::piextGetDeviceFunctionPointer(), and urProgramGetFunctionPointer().
Referenced by sycl::_V1::detail::program_impl::has_kernel(), piextGetDeviceFunctionPointer(), and piPluginInit().
|
inline |
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 1912 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextKernelCreateWithNativeHandle(), and urKernelCreateWithNativeHandle().
Referenced by sycl::_V1::detail::make_kernel(), piextKernelCreateWithNativeHandle(), and piPluginInit().
|
inline |
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 1917 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, piextGetNativeHandle(), pi2ur::piextKernelGetNativeHandle(), and urKernelGetNativeHandle().
Referenced by sycl::_V1::detail::kernel_impl::getNative(), piextKernelGetNativeHandle(), and piPluginInit().
|
inline |
Definition at line 1412 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextKernelSetArgMemObj(), and urKernelSetArgMemObj().
Referenced by piextKernelSetArgMemObj(), piPluginInit(), and sycl::_V1::detail::SetKernelParamsAndLaunch().
|
inline |
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 2005 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCacheT::clSetKernelArgMemPointerINTELCache, clSetKernelArgMemPointerName, DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, pi2ur::piextKernelSetArgPointer(), and urKernelSetArgValue().
Referenced by piextKernelSetArgPointer(), piPluginInit(), and sycl::_V1::detail::SetKernelParamsAndLaunch().
|
inline |
Definition at line 1417 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi2ur::piextKernelSetArgSampler(), and urKernelSetArgSampler().
Referenced by piextKernelSetArgSampler(), piPluginInit(), and sycl::_V1::detail::SetKernelParamsAndLaunch().
|
inline |
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 1330 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextMemCreateWithNativeHandle(), and urMemBufferCreateWithNativeHandle().
Referenced by piextMemCreateWithNativeHandle(), piPluginInit(), and sycl::_V1::detail::SYCLMemObjT::SYCLMemObjT().
|
inline |
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 1326 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, piextGetNativeHandle(), pi2ur::piextMemGetNativeHandle(), and urMemGetNativeHandle().
Referenced by sycl::_V1::detail::buffer_impl::getNativeVector(), sycl::_V1::detail::memBufferCreateHelper(), sycl::_V1::detail::memReleaseHelper(), piextMemGetNativeHandle(), and piPluginInit().
|
inline |
Creates PI image object from a native handle.
nativeHandle | is the native handle to create PI image 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. |
ImageFormat | is the pi_image_format struct that specifies the image channnel order and channel data type that match what the nativeHandle uses |
ImageDesc | is the pi_image_desc struct that specifies the image dimension, pitch, slice and other information about the nativeHandle |
img | is the PI img created from the native handle. |
Definition at line 1335 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi2ur::pi2urImageDesc(), PI_ASSERT, pi2ur::piextMemImageCreateWithNativeHandle(), and urMemImageCreateWithNativeHandle().
Referenced by piextMemImageCreateWithNativeHandle(), and sycl::_V1::detail::SYCLMemObjT::SYCLMemObjT().
|
inline |
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 504 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, PI_ASSERT, pi2ur::piextPlatformCreateWithNativeHandle(), and urPlatformCreateWithNativeHandle().
Referenced by sycl::_V1::detail::make_platform(), piextPlatformCreateWithNativeHandle(), and piPluginInit().
|
inline |
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 500 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, piextGetNativeHandle(), pi2ur::piextPlatformGetNativeHandle(), and urPlatformGetNativeHandle().
Referenced by sycl::_V1::detail::platform_impl::getNative(), piextPlatformGetNativeHandle(), and piPluginInit().
|
inline |
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 2101 of file pi_esimd_emulator.cpp.
References PiESimdDeviceAccess, and pi2ur::piextPluginGetOpaqueData().
Referenced by sycl::_V1::detail::getPluginOpaqueData(), piextPluginGetOpaqueData(), and piPluginInit().
|
inline |
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 1399 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextProgramCreateWithNativeHandle(), and urProgramCreateWithNativeHandle().
Referenced by sycl::_V1::detail::make_kernel_bundle(), piextProgramCreateWithNativeHandle(), and piPluginInit().
|
inline |
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 1395 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, piextGetNativeHandle(), pi2ur::piextProgramGetNativeHandle(), and urProgramGetNativeHandle().
Referenced by sycl::_V1::detail::device_image_impl::getNative(), sycl::_V1::detail::program_impl::getNative(), piextProgramGetNativeHandle(), and piPluginInit().
|
inline |
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 2064 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCacheT::clSetProgramSpecializationConstantCache, clSetProgramSpecializationConstantName, DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, pi2ur::piextProgramSetSpecializationConstant(), and urProgramSetSpecializationConstants().
Referenced by sycl::_V1::detail::enableITTAnnotationsIfNeeded(), sycl::_V1::detail::program_impl::flush_spec_constants(), piextProgramSetSpecializationConstant(), piPluginInit(), and sycl::_V1::detail::setSpecializationConstants().
|
inline |
properties | points to a zero-terminated array of extra data describing desired queue properties. Format is {[PROPERTY[, property-specific elements of data]*,]* 0} |
Definition at line 962 of file pi_esimd_emulator.cpp.
References HANDLE_ERRORS, PI_ASSERT, PI_EXT_ONEAPI_QUEUE_FLAG_DISCARD_EVENTS, PI_EXT_ONEAPI_QUEUE_FLAG_PRIORITY_HIGH, PI_EXT_ONEAPI_QUEUE_FLAG_PRIORITY_LOW, PI_QUEUE_COMPUTE_INDEX, PI_QUEUE_FLAG_ON_DEVICE, PI_QUEUE_FLAG_ON_DEVICE_DEFAULT, PI_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE, PI_QUEUE_FLAG_PROFILING_ENABLE, PI_QUEUE_FLAGS, pi2ur::piextQueueCreate(), piQueueCreate(), and urQueueCreate().
Referenced by sycl::_V1::detail::queue_impl::createQueue(), piextQueueCreate(), piPluginInit(), piQueueCreate(), and pi2ur::piQueueCreate().
|
inline |
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. |
nativeHandleDesc | provides additional properties of the native handle. |
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. |
Properties | holds queue properties. |
queue | is the PI queue created from the native handle. |
Definition at line 1049 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, PI_EXT_ONEAPI_QUEUE_FLAG_DISCARD_EVENTS, PI_EXT_ONEAPI_QUEUE_FLAG_PRIORITY_HIGH, PI_EXT_ONEAPI_QUEUE_FLAG_PRIORITY_LOW, PI_QUEUE_FLAG_ON_DEVICE, PI_QUEUE_FLAG_ON_DEVICE_DEFAULT, PI_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE, PI_QUEUE_FLAG_PROFILING_ENABLE, pi2ur::piextQueueCreateWithNativeHandle(), and urQueueCreateWithNativeHandle().
Referenced by sycl::_V1::detail::make_queue(), piextQueueCreateWithNativeHandle(), and piPluginInit().
|
inline |
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 or commandlist. |
nativeHandleDesc | provides additional properties of the native handle. |
Definition at line 1045 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, piextGetNativeHandle(), pi2ur::piextQueueGetNativeHandle(), and urQueueGetNativeHandle().
Referenced by sycl::_V1::detail::queue_impl::getNative(), piextQueueGetNativeHandle(), and piPluginInit().
|
inline |
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 1937 of file pi_esimd_emulator.cpp.
References sycl::_V1::ext::oneapi::experimental::detail::Alignment, sycl::_V1::ext::oneapi::experimental::alignment, ExtFuncPtrCacheT::clDeviceMemAllocINTELCache, clDeviceMemAllocName, DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, pi2ur::piextUSMDeviceAlloc(), and urUSMDeviceAlloc().
Referenced by sycl::_V1::detail::usm::alignedAllocInternal(), piextUSMDeviceAlloc(), and piPluginInit().
|
inline |
USM 2D fill API.
queue | is the queue to submit to |
ptr | is the ptr to fill |
pitch | is the total width of the destination memory including padding |
pattern | is a pointer with the bytes of the pattern to set |
pattern_size | is the size in bytes of the pattern |
width | is width in bytes of each row to fill |
height | is height the columns to fill |
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 |
USM 2D fill API.
queue | is the queue to submit to |
ptr | is the ptr to fill |
pitch | is the total width of the destination memory including padding |
pattern | is a pointer with the bytes of the pattern to set |
pattern_size | is the size in bytes of the pattern |
width | is width in bytes of each row to fill |
height | is height the columns to fill |
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 |
USM 2D fill API.
queue | is the queue to submit to |
ptr | is the ptr to fill |
pattern | is a pointer with the bytes of the pattern to set |
pattern_size | is the size in bytes of the pattern |
pitch | is the total width of the destination memory including padding |
width | is width in bytes of each row to fill |
height | is height the columns to fill |
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 2024 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, pi2ur::piextUSMEnqueueFill2D(), and urEnqueueUSMFill2D().
Referenced by sycl::_V1::detail::MemoryManager::fill_2d_usm(), piextUSMEnqueueFill2D(), and piPluginInit().
|
inline |
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 2019 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, PI_MEM_ADVICE_CUDA_SET_PREFERRED_LOCATION, PI_MEM_ADVICE_CUDA_SET_READ_MOSTLY, PI_MEM_ADVICE_CUDA_UNSET_PREFERRED_LOCATION, PI_MEM_ADVICE_CUDA_UNSET_READ_MOSTLY, PI_MEM_ADVICE_RESET, pi2ur::piextUSMEnqueueMemAdvise(), and urEnqueueUSMAdvise().
Referenced by sycl::_V1::detail::MemoryManager::advise_usm(), piextUSMEnqueueMemAdvise(), and piPluginInit().
|
inline |
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 2014 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCacheT::clEnqueueMemcpyINTELCache, clEnqueueMemcpyName, DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, pi2ur::piextUSMEnqueueMemcpy(), and urEnqueueUSMMemcpy().
Referenced by sycl::_V1::detail::MemoryManager::copy_2d_usm(), sycl::_V1::detail::MemoryManager::copy_usm(), piextUSMEnqueueMemcpy(), and piPluginInit().
|
inline |
USM 2D Memcpy API.
queue | is the queue to submit to |
blocking | is whether this operation should block the host |
dst_ptr | is the location the data will be copied |
dst_pitch | is the total width of the destination memory including padding |
src_ptr | is the data to be copied |
src_pitch | is the total width of the source memory including padding |
width | is width in bytes of each row to be copied |
height | is height the columns to be copied |
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 |
blocking | is whether this operation should block the host |
dst_ptr | is the location the data will be copied |
dst_pitch | is the total width of the destination memory including padding |
src_ptr | is the data to be copied |
dst_pitch | is the total width of the source memory including padding |
width | is width in bytes of each row to be copied |
height | is height the columns to be copied |
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 2035 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextUSMEnqueueMemcpy2D(), and urEnqueueUSMMemcpy2D().
Referenced by sycl::_V1::detail::MemoryManager::copy_2d_usm(), piextUSMEnqueueMemcpy2D(), and piPluginInit().
|
inline |
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 2009 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCacheT::clEnqueueMemFillINTELCache, clEnqueueMemFillName, DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextUSMEnqueueMemset(), and urEnqueueUSMFill().
Referenced by sycl::_V1::detail::MemoryManager::fill_usm(), piextUSMEnqueueMemset(), and piPluginInit().
|
inline |
USM 2D Memset API.
queue | is the queue to submit to |
ptr | is the ptr to fill |
pitch | is the total width of the destination memory including padding |
value | the value to fill into the region in |
ptr | |
width | is width in bytes of each row to fill |
height | is height the columns to fill |
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 fill |
pitch | is the total width of the destination memory including padding |
pattern | is a pointer with the bytes of the pattern to set |
pattern_size | is the size in bytes of the pattern |
width | is width in bytes of each row to fill |
height | is height the columns to fill |
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 | contains the byte to set with |
pitch | is the total width of the destination memory including padding |
width | is width in bytes of each row to memset |
height | is height the columns 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 |
Definition at line 2030 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, and pi2ur::piextUSMEnqueueMemset2D().
Referenced by sycl::_V1::detail::MemoryManager::memset_2d_usm(), piextUSMEnqueueMemset2D(), and piPluginInit().
|
inline |
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 |
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 |
Definition at line 2081 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piextUSMEnqueuePrefetch(), and urEnqueueUSMPrefetch().
Referenced by piextUSMEnqueuePrefetch(), piPluginInit(), and sycl::_V1::detail::MemoryManager::prefetch_usm().
|
inline |
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 1981 of file pi_esimd_emulator.cpp.
References _pi_context::Addr2CmBufferSVM, _pi_context::Addr2CmBufferSVMLock, ExtFuncPtrCacheT::clMemBlockingFreeINTELCache, clMemBlockingFreeName, _pi_device::CmDevicePtr, _pi_context::Device, ExtFuncPtrCache, HANDLE_ERRORS, pi2ur::piextUSMFree(), and urUSMFree().
Referenced by sycl::_V1::detail::usm::freeInternal(), piextUSMFree(), and piPluginInit().
|
inline |
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 2041 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCacheT::clGetMemAllocInfoINTELCache, clGetMemAllocInfoName, sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, PI_ASSERT, PI_MEM_ALLOC_BASE_PTR, PI_MEM_ALLOC_DEVICE, PI_MEM_ALLOC_SIZE, PI_MEM_ALLOC_TYPE, pi2ur::piextUSMGetMemAllocInfo(), ur2piUSMAllocInfoValue(), and urUSMGetMemAllocInfo().
Referenced by sycl::_V1::get_pointer_device(), sycl::_V1::get_pointer_type(), piextUSMGetMemAllocInfo(), and piPluginInit().
|
inline |
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 1932 of file pi_esimd_emulator.cpp.
References sycl::_V1::ext::oneapi::experimental::detail::Alignment, sycl::_V1::ext::oneapi::experimental::alignment, ExtFuncPtrCacheT::clHostMemAllocINTELCache, clHostMemAllocName, DIE_NO_IMPLEMENTATION, ExtFuncPtrCache, HANDLE_ERRORS, pi2ur::piextUSMHostAlloc(), and urUSMHostAlloc().
Referenced by sycl::_V1::detail::usm::alignedAllocHost(), piextUSMHostAlloc(), and piPluginInit().
|
inline |
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 1942 of file pi_esimd_emulator.cpp.
References _pi_context::Addr2CmBufferSVM, _pi_context::Addr2CmBufferSVMLock, sycl::_V1::ext::oneapi::experimental::detail::Alignment, sycl::_V1::ext::oneapi::experimental::alignment, ARG_UNUSED, ExtFuncPtrCacheT::clSharedMemAllocINTELCache, clSharedMemAllocName, _pi_device::CmDevicePtr, _pi_context::Device, ExtFuncPtrCache, sycl::_V1::detail::getNextPowerOfTwo(), HANDLE_ERRORS, PI_ASSERT, PI_MEM_ALLOC_DEVICE_READ_ONLY, PI_MEM_ALLOC_FLAGS, PI_MEM_ALLOC_INITIAL_PLACEMENT_DEVICE, PI_MEM_ALLOC_INITIAL_PLACEMENT_HOST, PI_MEM_ALLOC_WRTITE_COMBINED, pi2ur::piextUSMSharedAlloc(), and urUSMSharedAlloc().
Referenced by sycl::_V1::detail::usm::alignedAllocInternal(), piextUSMSharedAlloc(), and piPluginInit().
|
inline |
Queries device for it's global timestamp in nanoseconds, and updates HostTime with the value of the host timer at the closest possible point in time to that at which DeviceTime was returned.
Device | device to query for timestamp |
DeviceTime | pointer to store device timestamp in nanoseconds. Optional argument, can be nullptr |
HostTime | pointer to store host timestamp in nanoseconds. Optional argurment, can be nullptr in which case timestamp will not be written |
Definition at line 2125 of file pi_esimd_emulator.cpp.
References getDeviceVersion(), getPlatformVersion(), HANDLE_ERRORS, pi2ur::piGetDeviceAndHostTimer(), PiTrace(), setErrorMessage(), urDeviceGetGlobalTimestamps(), and OCLV::V2_1.
Referenced by sycl::_V1::detail::get_device_info_impl< bool, info::device::queue_profiling >::get(), sycl::_V1::detail::device_impl::getCurrentDeviceTime(), piGetDeviceAndHostTimer(), and piPluginInit().
|
inline |
Definition at line 1404 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piKernelCreate(), and urKernelCreate().
Referenced by sycl::_V1::detail::ProgramManager::getOrCreateKernel(), piKernelCreate(), and piPluginInit().
|
inline |
Definition at line 1425 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, 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, pi2ur::piKernelGetGroupInfo(), and urKernelGetGroupInfo().
Referenced by sycl::_V1::detail::get_kernel_device_specific_info_helper(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), piKernelGetGroupInfo(), and piPluginInit().
|
inline |
Definition at line 1421 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, 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, pi2ur::piKernelGetInfo(), and urKernelGetInfo().
Referenced by sycl::_V1::detail::get_kernel_info(), sycl::_V1::detail::ProgramManager::getPiProgramFromPiKernel(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), piKernelGetInfo(), and piPluginInit().
|
inline |
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 1430 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_DEVICE_INFO_MAX_WORK_ITEM_DIMENSIONS, PI_DEVICE_INFO_MAX_WORK_ITEM_SIZES, PI_DEVICE_INFO_SUB_GROUP_SIZES_INTEL, 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, piDeviceGetInfo(), pi2ur::piKernelGetSubGroupInfo(), and urKernelGetSubGroupInfo().
Referenced by sycl::_V1::detail::get_kernel_device_specific_info_helper(), sycl::_V1::detail::get_kernel_device_specific_info_with_input(), piKernelGetSubGroupInfo(), and piPluginInit().
Definition at line 1438 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piKernelRelease(), and urKernelRelease().
Referenced by piKernelRelease(), piPluginInit(), sycl::_V1::detail::kernel_impl::~kernel_impl(), and sycl::_V1::detail::KernelProgramCache::~KernelProgramCache().
Definition at line 1436 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piKernelRetain(), and urKernelRetain().
Referenced by sycl::_V1::detail::kernel_impl::get(), sycl::_V1::detail::kernel_impl::getNative(), sycl::_V1::detail::make_kernel(), piKernelRetain(), and piPluginInit().
|
inline |
Definition at line 1408 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piKernelSetArg(), and urKernelSetArgValue().
Referenced by piKernelSetArg(), piPluginInit(), and sycl::_V1::detail::SetKernelParamsAndLaunch().
|
inline |
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 2059 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, PI_EXT_KERNEL_EXEC_INFO_CACHE_CONFIG, PI_EXT_KERNEL_EXEC_INFO_CACHE_DEFAULT, PI_EXT_KERNEL_EXEC_INFO_CACHE_LARGE_DATA, PI_EXT_KERNEL_EXEC_INFO_CACHE_LARGE_SLM, PI_TRUE, PI_USM_INDIRECT_ACCESS, PI_USM_PTRS, pi2ur::piKernelSetExecInfo(), UR_EXT_KERNEL_EXEC_INFO_CACHE_CONFIG, UR_EXT_KERNEL_EXEC_INFO_CACHE_DEFAULT, UR_EXT_KERNEL_EXEC_INFO_CACHE_LARGE_DATA, UR_EXT_KERNEL_EXEC_INFO_CACHE_LARGE_SLM, urKernelSetExecInfo(), and USMSetIndirectAccess().
Referenced by sycl::_V1::detail::enqueueImpKernel(), sycl::_V1::detail::ProgramManager::getOrCreateKernel(), sycl::_V1::detail::kernel_impl::kernel_impl(), piKernelSetExecInfo(), and piPluginInit().
|
inline |
Definition at line 1055 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, _pi_context::checkSurfaceArgument(), ExtFuncPtrCacheT::clCreateBufferWithPropertiesINTELCache, clCreateBufferWithPropertiesName, _pi_device::CmDevicePtr, _pi_context::Device, sycl::_V1::detail::pi::die(), ExtFuncPtrCache, HANDLE_ERRORS, PI_ASSERT, 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, PiESimdSurfaceMap, PiESimdSurfaceMapLock, pi2ur::piMemBufferCreate(), PiTrace(), 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, and urMemBufferCreate().
Referenced by sycl::_V1::detail::memBufferCreateHelper(), piMemBufferCreate(), and piPluginInit().
|
inline |
Definition at line 1845 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, PI_BUFFER_CREATE_TYPE_REGION, 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, pi2ur::piMemBufferPartition(), and urMemBufferPartition().
Referenced by sycl::_V1::detail::MemoryManager::allocateMemSubBuffer(), piMemBufferPartition(), and piPluginInit().
|
inline |
Definition at line 1128 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, PI_MEM_CONTEXT, PI_MEM_SIZE, pi2ur::piMemGetInfo(), and urMemGetInfo().
Referenced by sycl::_V1::detail::SYCLMemObjT::getBufSizeForContext(), piMemGetInfo(), piPluginInit(), and sycl::_V1::detail::SYCLMemObjT::SYCLMemObjT().
|
inline |
Definition at line 1207 of file pi_esimd_emulator.cpp.
References CASE_PI_UNSUPPORTED, _pi_context::checkSurfaceArgument(), _pi_device::CmDevicePtr, ConvertPiImageFormatToCmFormat(), _pi_context::Device, HANDLE_ERRORS, _pi_image_format::image_channel_data_type, _pi_image_desc::image_height, _pi_image_desc::image_type, _pi_image_desc::image_width, pi2ur::pi2urImageDesc(), PI_ASSERT, 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_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_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, PiESimdSurfaceMap, PiESimdSurfaceMapLock, pi2ur::piMemImageCreate(), PiTrace(), cm_surface_ptr_t::RegularImgPtr, cm_surface_ptr_t::tag, cm_surface_ptr_t::TypeRegularImage, cm_surface_ptr_t::TypeUserProvidedImage, cm_surface_ptr_t::UPImgPtr, and urMemImageCreate().
Referenced by sycl::_V1::detail::MemoryManager::allocateImageObject(), piMemImageCreate(), and piPluginInit().
|
inline |
Definition at line 1758 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_IMAGE_INFO_DEPTH, PI_IMAGE_INFO_ELEMENT_SIZE, PI_IMAGE_INFO_FORMAT, PI_IMAGE_INFO_HEIGHT, PI_IMAGE_INFO_ROW_PITCH, PI_IMAGE_INFO_SLICE_PITCH, PI_IMAGE_INFO_WIDTH, pi2ur::piMemImageGetInfo(), and urMemImageGetInfo().
Referenced by sycl::_V1::detail::getImageInfo(), piMemImageGetInfo(), and piPluginInit().
Definition at line 1140 of file pi_esimd_emulator.cpp.
References HANDLE_ERRORS, PI_ASSERT, PiESimdSurfaceMap, PiESimdSurfaceMapLock, pi2ur::piMemRelease(), PiTrace(), _pi_mem::SurfaceIndex, and urMemRelease().
Referenced by sycl::_V1::detail::memReleaseHelper(), piMemRelease(), piPluginInit(), and sycl::_V1::detail::SYCLMemObjT::updateHostMemory().
Definition at line 1132 of file pi_esimd_emulator.cpp.
References HANDLE_ERRORS, PI_ASSERT, pi2ur::piMemRetain(), and urMemRetain().
Referenced by sycl::_V1::detail::buffer_impl::addInteropObject(), sycl::_V1::detail::buffer_impl::getNativeVector(), piMemRetain(), piPluginInit(), and sycl::_V1::detail::SYCLMemObjT::SYCLMemObjT().
|
inline |
Definition at line 463 of file pi_esimd_emulator.cpp.
References _pi_platform::CmEmuVersion, sycl::_V1::detail::pi::die(), fixupInfoValueTypes(), HANDLE_ERRORS, sycl::_V1::detail::memcpy(), PI_ASSERT, PI_EXT_PLATFORM_BACKEND_ESIMD, PI_EXT_PLATFORM_BACKEND_OPENCL, PI_EXT_PLATFORM_INFO_BACKEND, PI_PLATFORM_INFO_EXTENSIONS, PI_PLATFORM_INFO_NAME, PI_PLATFORM_INFO_PROFILE, PI_PLATFORM_INFO_VENDOR, PI_PLATFORM_INFO_VERSION, pi2ur::piPlatformGetInfo(), ur2piPlatformInfoValue(), and urPlatformGetInfo().
Referenced by sycl::_V1::detail::get_platform_info_string_impl(), sycl::_V1::opencl::has_extension(), piPlatformGetInfo(), piPluginInit(), and sycl::_V1::detail::platform_impl::platform_impl().
|
inline |
Runtime queries number of Platforms
Definition at line 420 of file pi_esimd_emulator.cpp.
References _pi_platform::CmEmuVersion, HANDLE_ERRORS, PiPlatformCache, PiPlatformCacheLock, PiPlatformCachePopulated, pi2ur::piPlatformsGet(), PiTrace(), PrintPiTrace, urInit(), and urPlatformGet().
Referenced by sycl::_V1::detail::platform_impl::get_platforms(), piPlatformsGet(), and piPluginInit().
|
inline |
API to get backend specific option.
frontend_option | is a string that contains frontend option. |
backend_option | is used to return the backend option corresponding to frontend option. |
Definition at line 175 of file pi_esimd_emulator.cpp.
References HANDLE_ERRORS, pi2ur::piPluginGetBackendOption(), and urPlatformGetBackendOption().
Referenced by sycl::_V1::detail::platform_impl::getBackendOption(), piPluginGetBackendOption(), and piPluginInit().
|
inline |
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. |
device,and | syncronized host timestamp |
Definition at line 166 of file pi_esimd_emulator.cpp.
References ErrorMessage, ErrorMessageCode, and pi2ur::piPluginGetLastError().
Referenced by sycl::_V1::detail::device_impl::getCurrentDeviceTime(), piPluginGetLastError(), and piPluginInit().
Definition at line 5870 of file pi_cuda.cpp.
References _PI_API, _PI_CL, _PI_H_VERSION_STRING, _PI_LEVEL_ZERO_PLUGIN_VERSION_STRING, _PI_PLUGIN_VERSION_CHECK, _PI_UNIFIED_RUNTIME_PLUGIN_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_piextEnqueueDeviceGlobalVariableRead(), cuda_piextEnqueueDeviceGlobalVariableWrite(), cuda_piextEnqueueReadHostPipe(), cuda_piextEnqueueWriteHostPipe(), 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_piextQueueCreate(), cuda_piextQueueCreateWithNativeHandle(), cuda_piextQueueGetNativeHandle(), cuda_piextUSMDeviceAlloc(), cuda_piextUSMEnqueueFill2D(), cuda_piextUSMEnqueueMemAdvise(), cuda_piextUSMEnqueueMemcpy(), cuda_piextUSMEnqueueMemcpy2D(), cuda_piextUSMEnqueueMemset(), cuda_piextUSMEnqueueMemset2D(), cuda_piextUSMEnqueuePrefetch(), cuda_piextUSMFree(), cuda_piextUSMGetMemAllocInfo(), cuda_piextUSMHostAlloc(), cuda_piextUSMSharedAlloc(), cuda_piGetDeviceAndHostTimer(), 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(), enableCUDATracing(), 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_piextEnqueueDeviceGlobalVariableRead(), hip_piextEnqueueDeviceGlobalVariableWrite(), hip_piextEnqueueReadHostPipe(), hip_piextEnqueueWriteHostPipe(), hip_piextEventCreateWithNativeHandle(), hip_piextEventGetNativeHandle(), hip_piextGetDeviceFunctionPointer(), hip_piextKernelSetArgMemObj(), hip_piextKernelSetArgPointer(), hip_piextKernelSetArgSampler(), hip_piextMemCreateWithNativeHandle(), hip_piextMemGetNativeHandle(), hip_piextProgramCreateWithNativeHandle(), hip_piextProgramGetNativeHandle(), hip_piextProgramSetSpecializationConstant(), hip_piextQueueCreate(), hip_piextQueueCreateWithNativeHandle(), hip_piextQueueGetNativeHandle(), hip_piextUSMDeviceAlloc(), hip_piextUSMEnqueueFill2D(), hip_piextUSMEnqueueMemAdvise(), hip_piextUSMEnqueueMemcpy(), hip_piextUSMEnqueueMemcpy2D(), hip_piextUSMEnqueueMemset(), hip_piextUSMEnqueueMemset2D(), hip_piextUSMEnqueuePrefetch(), hip_piextUSMFree(), hip_piextUSMGetMemAllocInfo(), hip_piextUSMHostAlloc(), hip_piextUSMSharedAlloc(), hip_piGetDeviceAndHostTimer(), 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, 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(), piextEnqueueDeviceGlobalVariableRead(), piextEnqueueDeviceGlobalVariableWrite(), piextEnqueueReadHostPipe(), piextEnqueueWriteHostPipe(), piextEventCreateWithNativeHandle(), piextEventGetNativeHandle(), piextGetDeviceFunctionPointer(), piextGetNativeHandle(), piextKernelCreateWithNativeHandle(), piextKernelGetNativeHandle(), piextKernelSetArgMemObj(), piextKernelSetArgPointer(), piextKernelSetArgSampler(), piextMemCreateWithNativeHandle(), piextMemGetNativeHandle(), piextPlatformCreateWithNativeHandle(), piextPlatformGetNativeHandle(), piextPluginGetOpaqueData(), piextProgramCreateWithNativeHandle(), piextProgramGetNativeHandle(), piextProgramSetSpecializationConstant(), piextQueueCreate(), piextQueueCreateWithNativeHandle(), piextQueueGetNativeHandle(), piextUSMDeviceAlloc(), piextUSMEnqueueFill2D(), piextUSMEnqueueMemAdvise(), piextUSMEnqueueMemcpy(), piextUSMEnqueueMemcpy2D(), piextUSMEnqueueMemset(), piextUSMEnqueueMemset2D(), piextUSMEnqueuePrefetch(), piextUSMFree(), piextUSMGetMemAllocInfo(), piextUSMHostAlloc(), piextUSMSharedAlloc(), _pi_plugin::PiFunctionTable, piGetDeviceAndHostTimer(), piKernelCreate(), piKernelGetGroupInfo(), piKernelGetInfo(), piKernelGetSubGroupInfo(), piKernelRelease(), piKernelRetain(), piKernelSetArg(), piKernelSetExecInfo(), piMemBufferCreate(), piMemBufferPartition(), piMemGetInfo(), piMemImageCreate(), piMemImageGetInfo(), piMemRelease(), piMemRetain(), piPlatformGetInfo(), piPlatformsGet(), piPluginGetBackendOption(), 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, sycl::_V1::ext::intel::esimd::detail::SLM_BTI, and SupportedVersion.
Referenced by sycl::_V1::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 sycl::_V1::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 | ||
) |
|
inline |
Definition at line 1341 of file pi_esimd_emulator.cpp.
References CHECK_ERR_SET_NULL_RET, checkDeviceExtensions(), DIE_NO_IMPLEMENTATION, getDeviceVersion(), getPlatformVersion(), HANDLE_ERRORS, PI_ASSERT, pi2ur::piProgramCreate(), urProgramCreateWithIL(), and OCLV::V2_1.
Referenced by sycl::_V1::detail::createSpirvProgram(), piPluginInit(), and piProgramCreate().
|
inline |
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 1345 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, mapPIMetadataToUR(), PI_ASSERT, pi2ur::piProgramCreateWithBinary(), and urProgramCreateWithBinary().
Referenced by sycl::_V1::detail::createBinaryProgram(), piPluginInit(), and piProgramCreateWithBinary().
|
inline |
Definition at line 1386 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_PROGRAM_BUILD_INFO_BINARY_TYPE, PI_PROGRAM_BUILD_INFO_LOG, PI_PROGRAM_BUILD_INFO_OPTIONS, PI_PROGRAM_BUILD_INFO_STATUS, pi2ur::piProgramGetBuildInfo(), and urProgramGetBuildInfo().
Referenced by sycl::_V1::detail::ProgramManager::getProgramBuildLog(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), sycl::_V1::detail::make_kernel_bundle(), piPluginInit(), and piProgramGetBuildInfo().
|
inline |
Definition at line 1363 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, PI_PROGRAM_INFO_BINARIES, PI_PROGRAM_INFO_BINARY_SIZES, PI_PROGRAM_INFO_CONTEXT, 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_PROGRAM_INFO_SOURCE, pi2ur::piProgramGetInfo(), and urProgramGetInfo().
Referenced by sycl::_V1::detail::program_impl::get_binaries(), sycl::_V1::detail::ProgramManager::getProgramBuildLog(), sycl::_V1::detail::make_kernel_bundle(), piPluginInit(), piProgramGetInfo(), and sycl::_V1::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 1390 of file pi_opencl.cpp.
References cast().
Referenced by sycl::_V1::detail::program_impl::link(), sycl::_V1::detail::ProgramManager::link(), sycl::_V1::detail::make_kernel_bundle(), piPluginInit(), and sycl::_V1::detail::program_impl::program_impl().
|
inline |
Definition at line 1393 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piProgramRelease(), and urProgramRelease().
Referenced by sycl::_V1::detail::program_impl::link(), piPluginInit(), piProgramRelease(), sycl::_V1::detail::context_impl::~context_impl(), sycl::_V1::detail::device_image_impl::~device_image_impl(), sycl::_V1::detail::KernelProgramCache::~KernelProgramCache(), and sycl::_V1::detail::program_impl::~program_impl().
|
inline |
Definition at line 1391 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piProgramRetain(), and urProgramRetain().
Referenced by sycl::_V1::detail::ProgramManager::build(), sycl::_V1::detail::program_impl::build_with_kernel_name(), sycl::_V1::detail::program_impl::get(), sycl::_V1::detail::device_image_impl::getNative(), sycl::_V1::detail::program_impl::getNative(), sycl::_V1::detail::make_kernel_bundle(), piPluginInit(), and piProgramRetain().
|
inline |
Definition at line 977 of file pi_esimd_emulator.cpp.
References ARG_UNUSED, CHECK_ERR_SET_NULL_RET, _pi_device::CmDevicePtr, _pi_context::Device, getPlatformVersion(), PI_EXT_ONEAPI_QUEUE_FLAG_DISCARD_EVENTS, PI_QUEUE_FLAG_ON_DEVICE, PI_QUEUE_FLAG_ON_DEVICE_DEFAULT, PI_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE, PI_QUEUE_FLAG_PROFILING_ENABLE, PI_QUEUE_FLAGS, piextQueueCreate(), pi2ur::piextQueueCreate(), pi2ur::piQueueCreate(), and OCLV::V2_0.
Referenced by piextQueueCreate(), piPluginInit(), and piQueueCreate().
Definition at line 1031 of file pi_esimd_emulator.cpp.
References CONTINUE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piQueueFinish(), and urQueueFinish().
Referenced by sycl::_V1::detail::queue_impl::getExclusiveQueueHandleRef(), piPluginInit(), piQueueFinish(), and sycl::_V1::detail::queue_impl::wait().
Definition at line 1038 of file pi_esimd_emulator.cpp.
References CONTINUE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piQueueFlush(), and urQueueFlush().
Referenced by sycl::_V1::detail::event_impl::flushIfNeeded(), piPluginInit(), and piQueueFlush().
|
inline |
Definition at line 1005 of file pi_esimd_emulator.cpp.
References sycl::_V1::detail::pi::die(), DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, PI_EXT_ONEAPI_QUEUE_INFO_EMPTY, 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, pi2ur::piQueueGetInfo(), and urQueueGetInfo().
Referenced by sycl::_V1::detail::queue_impl::ext_oneapi_empty(), piPluginInit(), piQueueGetInfo(), and sycl::_V1::detail::queue_impl::get_info< info::queue::reference_count >().
Definition at line 1017 of file pi_esimd_emulator.cpp.
References _pi_queue::CmQueuePtr, HANDLE_ERRORS, PI_ASSERT, pi2ur::piQueueRelease(), and urQueueRelease().
Referenced by piPluginInit(), piQueueRelease(), and sycl::_V1::detail::queue_impl::~queue_impl().
Definition at line 1009 of file pi_esimd_emulator.cpp.
References HANDLE_ERRORS, PI_ASSERT, pi2ur::piQueueRetain(), and urQueueRetain().
Referenced by sycl::_V1::detail::queue_impl::get(), sycl::_V1::detail::queue_impl::getNative(), piPluginInit(), and piQueueRetain().
|
inline |
Definition at line 1555 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, 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_TRUE, pi2ur::piSamplerCreate(), and urSamplerCreate().
Referenced by sycl::_V1::detail::sampler_impl::getOrCreateSampler(), piPluginInit(), and piSamplerCreate().
|
inline |
Definition at line 1560 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, fixupInfoValueTypes(), HANDLE_ERRORS, PI_SAMPLER_INFO_ADDRESSING_MODE, PI_SAMPLER_INFO_CONTEXT, PI_SAMPLER_INFO_FILTER_MODE, PI_SAMPLER_INFO_NORMALIZED_COORDS, PI_SAMPLER_INFO_REFERENCE_COUNT, pi2ur::piSamplerGetInfo(), ur2piSamplerInfoValue(), and urSamplerGetInfo().
Referenced by piPluginInit(), piSamplerGetInfo(), and sycl::_V1::detail::sampler_impl::sampler_impl().
|
inline |
Definition at line 1567 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piSamplerRelease(), and urSamplerRelease().
Referenced by piPluginInit(), piSamplerRelease(), and sycl::_V1::detail::sampler_impl::~sampler_impl().
|
inline |
Definition at line 1565 of file pi_esimd_emulator.cpp.
References DIE_NO_IMPLEMENTATION, HANDLE_ERRORS, PI_ASSERT, pi2ur::piSamplerRetain(), and urSamplerRetain().
Referenced by piPluginInit(), piSamplerRetain(), and sycl::_V1::detail::sampler_impl::sampler_impl().
|
inline |
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 2110 of file pi_esimd_emulator.cpp.
References ExtFuncPtrCache, PiESimdDeviceAccess, PiESimdSurfaceMap, pi2ur::piTearDown(), and urTearDown().
Referenced by piPluginInit(), piTearDown(), and sycl::_V1::detail::GlobalHandler::unloadPlugins().
|
staticconstexpr |
Definition at line 723 of file pi.h.
Referenced by sycl::_V1::detail::get_device_info_impl< info::partition_affinity_domain, info::device::partition_type_affinity_domain >::get(), and sycl::_V1::detail::read_domain_bitfield().
|
staticconstexpr |
Definition at line 721 of file pi.h.
Referenced by sycl::_V1::detail::get_device_info_impl< info::partition_affinity_domain, info::device::partition_type_affinity_domain >::get(), and sycl::_V1::detail::read_domain_bitfield().
|
staticconstexpr |
Definition at line 719 of file pi.h.
Referenced by sycl::_V1::detail::get_device_info_impl< info::partition_affinity_domain, info::device::partition_type_affinity_domain >::get(), and sycl::_V1::detail::read_domain_bitfield().
|
staticconstexpr |
Definition at line 717 of file pi.h.
Referenced by sycl::_V1::detail::get_device_info_impl< info::partition_affinity_domain, info::device::partition_type_affinity_domain >::get(), and sycl::_V1::detail::read_domain_bitfield().
|
staticconstexpr |
Definition at line 726 of file pi.h.
Referenced by pi2ur::piDevicePartition(), sycl::_V1::detail::read_domain_bitfield(), and ur2piDeviceInfoValue().
|
staticconstexpr |
Definition at line 715 of file pi.h.
Referenced by sycl::_V1::detail::get_device_info_impl< info::partition_affinity_domain, info::device::partition_type_affinity_domain >::get(), pi2ur::piDevicePartition(), sycl::_V1::detail::read_domain_bitfield(), and ur2piDeviceInfoValue().
|
static |
Definition at line 963 of file pi.h.
Referenced by sycl::_V1::detail::DeviceBinariesCollection::getPIDeviceStruct().
|
static |
Definition at line 802 of file pi.h.
Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), and sycl::_V1::detail::DeviceBinaryContainer::getPIDeviceBinary().
|
staticconstexpr |
Definition at line 796 of file pi.h.
Referenced by sycl::_V1::detail::pi::getBinaryImageFormat(), and sycl::_V1::detail::getFormatStr().
|
staticconstexpr |
Definition at line 791 of file pi.h.
Referenced by sycl::_V1::detail::pi::getBinaryImageFormat(), sycl::_V1::detail::getFormatStr(), and sycl::_V1::detail::IsSupportedImageFormat().
|
staticconstexpr |
Definition at line 789 of file pi.h.
Referenced by sycl::_V1::detail::ProgramManager::createPIProgram(), sycl::_V1::detail::pi::getBinaryImageFormat(), sycl::_V1::detail::getFormatStr(), and sycl::_V1::detail::RTDeviceBinaryImage::init().
|
staticconstexpr |
Definition at line 794 of file pi.h.
Referenced by sycl::_V1::detail::ProgramManager::build(), sycl::_V1::detail::ProgramManager::compile(), sycl::_V1::detail::ProgramManager::createPIProgram(), sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), sycl::_V1::detail::pi::getBinaryImageFormat(), sycl::_V1::detail::ProgramManager::getBuiltPIProgram(), sycl::_V1::detail::getFormatStr(), sycl::_V1::detail::isDeviceBinaryTypeSupported(), sycl::_V1::detail::IsSupportedImageFormat(), and sycl::_V1::detail::RTDeviceBinaryImage::supportsSpecConstants().
|
static |
Definition at line 799 of file pi.h.
Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), and sycl::_V1::detail::DeviceBinaryContainer::getPIDeviceBinary().
|
constexpr |
Definition at line 575 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 578 of file pi.h.
Referenced by ur2piDeviceInfoValue().
|
staticconstexpr |
Definition at line 709 of file pi.h.
Referenced by sycl::_V1::detail::device_impl::create_sub_devices(), pi2ur::piDevicePartition(), and ur2piDeviceInfoValue().
|
staticconstexpr |
Definition at line 704 of file pi.h.
Referenced by sycl::_V1::detail::device_impl::create_sub_devices(), and pi2ur::piDevicePartition().
|
staticconstexpr |
Definition at line 707 of file pi.h.
Referenced by sycl::_V1::detail::device_impl::create_sub_devices().
|
staticconstexpr |
Definition at line 702 of file pi.h.
Referenced by sycl::_V1::detail::device_impl::create_sub_devices(), and pi2ur::piDevicePartition().
|
staticconstexpr |
Definition at line 742 of file pi.h.
Referenced by sycl::_V1::detail::read_execution_bitfield().
|
staticconstexpr |
Definition at line 743 of file pi.h.
Referenced by sycl::_V1::detail::read_execution_bitfield().
|
staticconstexpr |
Definition at line 711 of file pi.h.
Referenced by sycl::_V1::detail::device_impl::create_sub_devices(), pi2ur::piDevicePartition(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 654 of file pi.h.
Referenced by sycl::_V1::detail::queue_impl::createPiQueueProperties(), pi2ur::piextQueueCreate(), pi2ur::piextQueueCreateWithNativeHandle(), and piQueueCreate().
|
constexpr |
Definition at line 656 of file pi.h.
Referenced by sycl::_V1::detail::queue_impl::createPiQueueProperties(), pi2ur::piextQueueCreate(), and pi2ur::piextQueueCreateWithNativeHandle().
|
constexpr |
Definition at line 655 of file pi.h.
Referenced by sycl::_V1::detail::queue_impl::createPiQueueProperties(), pi2ur::piextQueueCreate(), and pi2ur::piextQueueCreateWithNativeHandle().
const pi_bool PI_FALSE = 0 |
Definition at line 546 of file pi.h.
Referenced by sycl::_V1::detail::MemoryManager::copy_2d_usm(), sycl::_V1::detail::MemoryManager::copy_usm(), sycl::_V1::detail::copyD2H(), sycl::_V1::detail::copyH2D(), cuda_piDeviceGetInfo(), sycl::_V1::detail::device_impl::has(), hip_piContextCreate(), and sycl::_V1::detail::MemoryManager::map().
|
staticconstexpr |
Definition at line 737 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), and sycl::_V1::detail::read_fp_bitfield().
|
staticconstexpr |
Definition at line 730 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), and sycl::_V1::detail::read_fp_bitfield().
|
staticconstexpr |
Definition at line 735 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), and sycl::_V1::detail::read_fp_bitfield().
|
staticconstexpr |
Definition at line 731 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), and sycl::_V1::detail::read_fp_bitfield().
|
staticconstexpr |
Definition at line 734 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), and sycl::_V1::detail::read_fp_bitfield().
|
staticconstexpr |
Definition at line 732 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), and sycl::_V1::detail::read_fp_bitfield().
|
staticconstexpr |
Definition at line 733 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), and sycl::_V1::detail::read_fp_bitfield().
|
staticconstexpr |
Definition at line 736 of file pi.h.
Referenced by sycl::_V1::detail::read_fp_bitfield().
|
constexpr |
Definition at line 622 of file pi.h.
Referenced by cuda_piEnqueueMemBufferMap(), hip_piEnqueueMemBufferMap(), sycl::_V1::detail::MemoryManager::map(), and pi2ur::piEnqueueMemBufferMap().
|
constexpr |
Definition at line 623 of file pi.h.
Referenced by cuda_piEnqueueMemBufferMap(), cuda_piEnqueueMemUnmap(), hip_piEnqueueMemBufferMap(), hip_piEnqueueMemUnmap(), sycl::_V1::detail::MemoryManager::map(), and pi2ur::piEnqueueMemBufferMap().
|
constexpr |
Definition at line 624 of file pi.h.
Referenced by cuda_piEnqueueMemUnmap(), hip_piEnqueueMemUnmap(), sycl::_V1::detail::MemoryManager::map(), and pi2ur::piEnqueueMemBufferMap().
|
constexpr |
Definition at line 614 of file pi.h.
Referenced by sycl::_V1::detail::getMemObjCreationFlags(), pi2ur::piMemBufferCreate(), pi2ur::piMemBufferPartition(), and pi2ur::piMemImageCreate().
|
constexpr |
Definition at line 640 of file pi.h.
Referenced by sycl::_V1::detail::usm::alignedAllocInternal(), and pi2ur::piextUSMSharedAlloc().
|
constexpr |
Definition at line 634 of file pi.h.
Referenced by sycl::_V1::detail::usm::alignedAllocInternal(), and pi2ur::piextUSMSharedAlloc().
|
constexpr |
Definition at line 636 of file pi.h.
Referenced by pi2ur::piextUSMSharedAlloc().
|
constexpr |
Definition at line 638 of file pi.h.
Referenced by pi2ur::piextUSMSharedAlloc().
|
constexpr |
Definition at line 635 of file pi.h.
Referenced by pi2ur::piextUSMSharedAlloc().
|
constexpr |
Definition at line 613 of file pi.h.
Referenced by sycl::_V1::detail::MemoryManager::allocateMemSubBuffer(), cuda_piMemBufferPartition(), sycl::_V1::detail::device_image_impl::get_spec_const_buffer_ref(), sycl::_V1::detail::getMemObjCreationFlags(), hip_piMemBufferPartition(), sycl::_V1::detail::pi::memFlagsToString(), sycl::_V1::detail::pi::memFlagToString(), piMemBufferCreate(), pi2ur::piMemBufferCreate(), pi2ur::piMemBufferPartition(), piMemImageCreate(), and pi2ur::piMemImageCreate().
|
constexpr |
Definition at line 618 of file pi.h.
Referenced by sycl::_V1::detail::MemoryManager::allocateBufferObject(), cuda_piMemBufferCreate(), hip_piMemBufferCreate(), pi2ur::piMemBufferCreate(), pi2ur::piMemBufferPartition(), and pi2ur::piMemImageCreate().
|
constexpr |
Definition at line 617 of file pi.h.
Referenced by _pi_context::checkSurfaceArgument(), cuda_piMemBufferCreate(), cuda_piMemImageCreate(), sycl::_V1::detail::device_image_impl::get_spec_const_buffer_ref(), hip_piMemBufferCreate(), hip_piMemImageCreate(), sycl::_V1::detail::pi::memFlagsToString(), sycl::_V1::detail::pi::memFlagToString(), piMemBufferCreate(), pi2ur::piMemBufferCreate(), pi2ur::piMemBufferPartition(), piMemImageCreate(), and pi2ur::piMemImageCreate().
|
constexpr |
Definition at line 616 of file pi.h.
Referenced by _pi_context::checkSurfaceArgument(), cuda_piMemBufferCreate(), cuda_piMemImageCreate(), sycl::_V1::detail::getMemObjCreationFlags(), hip_piMemBufferCreate(), hip_piMemImageCreate(), sycl::_V1::detail::pi::memFlagsToString(), sycl::_V1::detail::pi::memFlagToString(), piMemBufferCreate(), pi2ur::piMemBufferCreate(), pi2ur::piMemBufferPartition(), piMemImageCreate(), and pi2ur::piMemImageCreate().
|
constexpr |
Definition at line 629 of file pi.h.
Referenced by sycl::_V1::detail::MemoryManager::allocateBufferObject().
|
constexpr |
Definition at line 628 of file pi.h.
Referenced by sycl::_V1::detail::MemoryManager::allocateBufferObject().
|
constexpr |
Definition at line 642 of file pi.h.
Referenced by sycl::_V1::detail::usm::alignedAllocHost(), and sycl::_V1::detail::usm::alignedAllocInternal().
|
constexpr |
Definition at line 590 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), sycl::_V1::detail::readMemoryOrderBitfield(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 588 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), sycl::_V1::detail::readMemoryOrderBitfield(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 587 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), sycl::_V1::detail::readMemoryOrderBitfield(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 589 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), sycl::_V1::detail::readMemoryOrderBitfield(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 591 of file pi.h.
Referenced by piDeviceGetInfo(), sycl::_V1::detail::readMemoryOrderBitfield(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 597 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), piDeviceGetInfo(), sycl::_V1::detail::readMemoryScopeBitfield(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 595 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), sycl::_V1::detail::readMemoryScopeBitfield(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 598 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), piDeviceGetInfo(), sycl::_V1::detail::readMemoryScopeBitfield(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 596 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), sycl::_V1::detail::readMemoryScopeBitfield(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 594 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), hip_piDeviceGetInfo(), piDeviceGetInfo(), sycl::_V1::detail::readMemoryScopeBitfield(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 648 of file pi.h.
Referenced by sycl::_V1::detail::queue_impl::createQueue(), and pi2ur::piextQueueCreate().
|
constexpr |
Definition at line 652 of file pi.h.
Referenced by piDeviceGetInfo(), pi2ur::piextQueueCreate(), pi2ur::piextQueueCreateWithNativeHandle(), piQueueCreate(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 653 of file pi.h.
Referenced by pi2ur::piextQueueCreate(), pi2ur::piextQueueCreateWithNativeHandle(), piQueueCreate(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 650 of file pi.h.
Referenced by sycl::_V1::detail::queue_impl::createPiQueueProperties(), cuda_piDeviceGetInfo(), cuda_piQueueCreate(), hip_piDeviceGetInfo(), hip_piQueueCreate(), pi2ur::piextQueueCreate(), pi2ur::piextQueueCreateWithNativeHandle(), piQueueCreate(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 651 of file pi.h.
Referenced by sycl::_V1::detail::checkNativeQueueProfiling(), sycl::_V1::detail::queue_impl::createPiQueueProperties(), cuda_piDeviceGetInfo(), cuda_piEventGetProfilingInfo(), hip_piDeviceGetInfo(), hip_piEventGetProfilingInfo(), pi2ur::piextQueueCreate(), pi2ur::piextQueueCreateWithNativeHandle(), piQueueCreate(), _pi_event::release(), _pi_event::start(), and ur2piDeviceInfoValue().
|
constexpr |
Definition at line 647 of file pi.h.
Referenced by sycl::_V1::detail::queue_impl::createQueue(), cuda_piextQueueCreate(), hip_piextQueueCreate(), sycl::_V1::detail::make_queue(), piextQueueCreate(), pi2ur::piextQueueCreate(), piQueueCreate(), and pi2ur::piQueueCreate().
|
constexpr |
Definition at line 583 of file pi.h.
Referenced by cuda_piSamplerCreate(), hip_piSamplerCreate(), and pi2ur::piSamplerCreate().
|
constexpr |
Definition at line 584 of file pi.h.
Referenced by cuda_piSamplerCreate(), hip_piSamplerCreate(), and pi2ur::piSamplerCreate().
|
constexpr |
Definition at line 581 of file pi.h.
Referenced by cuda_piSamplerCreate(), hip_piSamplerCreate(), and pi2ur::piSamplerCreate().
const pi_bool PI_TRUE = 1 |
Definition at line 545 of file pi.h.
Referenced by cuda_piDeviceGetInfo(), cuda_piSamplerCreate(), sycl::_V1::detail::ProgramManager::getBuiltPIProgram(), sycl::_V1::detail::ProgramManager::getOrCreateKernel(), hip_piContextCreate(), hip_piDeviceGetInfo(), hip_piSamplerCreate(), sycl::_V1::detail::kernel_impl::kernel_impl(), piKernelSetExecInfo(), and piSamplerCreate().