29 void *PIOpaqueData =
nullptr;
33 getPluginOpaqueData<sycl::backend::ext_intel_esimd_emulator>(
nullptr);
35 std::cerr <<
"ESIMD EMU plugin error or not loaded - try setting "
36 "SYCL_DEVICE_FILTER=esimd_emulator:gpu environment variable"
38 throw sycl::feature_not_supported();
41 ESIMDEmuPluginOpaqueData *OpaqueData =
42 reinterpret_cast<ESIMDEmuPluginOpaqueData *
>(PIOpaqueData);
45 if (OpaqueData->version != ESIMD_EMULATOR_PLUGIN_OPAQUE_DATA_VERSION) {
51 <<
"Opaque data returned by ESIMD Emu plugin is incompatible with"
52 <<
"the one used in current implementation." << std::endl
53 <<
"Returned version : " << OpaqueData->version << std::endl
54 <<
"Required version : "
55 << ESIMD_EMULATOR_PLUGIN_OPAQUE_DATA_VERSION << std::endl;
59 ESIMDDeviceInterface *Interface =
60 reinterpret_cast<ESIMDDeviceInterface *
>(OpaqueData->data);
63 if (Interface->version < ESIMD_DEVICE_INTERFACE_VERSION) {
65 <<
"The device interface version provided from plug-in "
66 <<
"library is behind required device interface version"
68 <<
"Found version : " << Interface->version << std::endl
69 <<
"Required version :" << ESIMD_DEVICE_INTERFACE_VERSION