diff --git a/unified-runtime/cmake/FetchLevelZero.cmake b/unified-runtime/cmake/FetchLevelZero.cmake index b2e6f8437b24d..d4c760ac17b00 100644 --- a/unified-runtime/cmake/FetchLevelZero.cmake +++ b/unified-runtime/cmake/FetchLevelZero.cmake @@ -125,7 +125,7 @@ if(L0_COMPUTE_RUNTIME_HEADERS) set(COMPUTE_RUNTIME_REPO_PATH "${L0_COMPUTE_RUNTIME_HEADERS}") else() set(UR_COMPUTE_RUNTIME_REPO "https://github.com/intel/compute-runtime.git") - set(UR_COMPUTE_RUNTIME_TAG 25.05.32567.17) + set(UR_COMPUTE_RUNTIME_TAG 25.31.34666.3) include(FetchContent) # Sparse fetch only the dir with level zero headers for experimental features to avoid pulling in the entire compute-runtime. diff --git a/unified-runtime/source/adapters/level_zero/common.cpp b/unified-runtime/source/adapters/level_zero/common.cpp index 0433a2d52d149..d5b1466c2a0f0 100644 --- a/unified-runtime/source/adapters/level_zero/common.cpp +++ b/unified-runtime/source/adapters/level_zero/common.cpp @@ -327,8 +327,8 @@ ze_structure_type_t getZeStructureType() { #ifdef ZE_INTEL_DEVICE_BLOCK_ARRAY_EXP_NAME template <> -ze_structure_type_t -getZeStructureType() { +ze_structure_type_ext_t +getZexStructureType() { return ZE_INTEL_DEVICE_BLOCK_ARRAY_EXP_PROPERTIES; } #endif // ZE_INTEL_DEVICE_BLOCK_ARRAY_EXP_NAME diff --git a/unified-runtime/source/adapters/level_zero/common.hpp b/unified-runtime/source/adapters/level_zero/common.hpp index d39f2dcd211f1..d6e973e3c8be5 100644 --- a/unified-runtime/source/adapters/level_zero/common.hpp +++ b/unified-runtime/source/adapters/level_zero/common.hpp @@ -170,6 +170,7 @@ bool setEnvVar(const char *name, const char *value); // Returns the ze_structure_type_t to use in .stype of a structured descriptor. // Intentionally not defined; will give an error if no proper specialization template ze_structure_type_t getZeStructureType(); +template ze_structure_type_ext_t getZexStructureType(); template zes_structure_type_t getZesStructureType(); // The helpers to properly default initialize Level-Zero descriptor and @@ -181,6 +182,13 @@ template struct ZeStruct : public T { } }; +template struct ZexStruct : public T { + ZexStruct() : T{} { // zero initializes base struct + this->stype = getZexStructureType(); + this->pNext = nullptr; + } +}; + template struct ZesStruct : public T { ZesStruct() : T{} { // zero initializes base struct this->stype = getZesStructureType(); diff --git a/unified-runtime/source/adapters/level_zero/device.cpp b/unified-runtime/source/adapters/level_zero/device.cpp index 980d5716e6566..e8daf055e58ba 100644 --- a/unified-runtime/source/adapters/level_zero/device.cpp +++ b/unified-runtime/source/adapters/level_zero/device.cpp @@ -1964,7 +1964,7 @@ ur_result_t ur_device_handle_t_::initialize(int SubSubDeviceOrdinal, #ifdef ZE_INTEL_DEVICE_BLOCK_ARRAY_EXP_NAME ZeDeviceBlockArrayProperties.Compute = [ZeDevice]( - ZeStruct &Properties) { + ZexStruct &Properties) { ze_device_properties_t P; P.stype = ZE_STRUCTURE_TYPE_DEVICE_PROPERTIES; P.pNext = &Properties; diff --git a/unified-runtime/source/adapters/level_zero/device.hpp b/unified-runtime/source/adapters/level_zero/device.hpp index 4e0df03ae07ed..d2273a0506f94 100644 --- a/unified-runtime/source/adapters/level_zero/device.hpp +++ b/unified-runtime/source/adapters/level_zero/device.hpp @@ -244,7 +244,7 @@ struct ur_device_handle_t_ : ur_object { ZeCache> ZeDeviceMutableCmdListsProperties; #ifdef ZE_INTEL_DEVICE_BLOCK_ARRAY_EXP_NAME - ZeCache> + ZeCache> ZeDeviceBlockArrayProperties; #endif // ZE_INTEL_DEVICE_BLOCK_ARRAY_EXP_NAME ZeCache> diff --git a/unified-runtime/source/adapters/level_zero/v2/command_list_cache.cpp b/unified-runtime/source/adapters/level_zero/v2/command_list_cache.cpp index a8dd67fc97106..4e6e2e5f3b7d8 100644 --- a/unified-runtime/source/adapters/level_zero/v2/command_list_cache.cpp +++ b/unified-runtime/source/adapters/level_zero/v2/command_list_cache.cpp @@ -14,8 +14,8 @@ #include "../device.hpp" template <> -ze_structure_type_t -getZeStructureType() { +ze_structure_type_ext_t +getZexStructureType() { return ZEX_INTEL_STRUCTURE_TYPE_QUEUE_COPY_OPERATIONS_OFFLOAD_HINT_EXP_PROPERTIES; } @@ -61,7 +61,8 @@ static bool ForceDisableCopyOffload = [] { raii::ze_command_list_handle_t command_list_cache_t::createCommandList(const command_list_descriptor_t &desc) { - ZeStruct offloadDesc; + ZexStruct + offloadDesc; auto requestedCopyOffload = std::visit([](auto &&arg) { return arg.CopyOffloadEnabled; }, desc);