6ad84d543c
3-model council (GLM-5.1, Minimax-M2.7, Kimi k2p5) analyzed Intel Arc GPU performance issues and produced patches for llama.cpp: Phase 1 - SYCL Sync: Enable graph execution by default (GGML_SYCL_DISABLE_GRAPH) Phase 2 - SYCL Kernel: Fix VER_GEN12/13 thresholds, tune DMMV_X/MMV_Y Phase 3 - Vulkan Intel: Arc 140T device-ID Xe2 override Includes: - Phased apply script (apply-phase.sh [1|2|3|all]) - Master apply script with --status/--reverse/--dry-run - Per-phase READMEs with testing checklists - Council deliberation logs (gitignored in logs/) Verified: all patches apply/reverse cleanly via git apply. Static verification: VER_GEN arithmetic and DMMV_X divisibility pass.
35 lines
1.6 KiB
Diff
35 lines
1.6 KiB
Diff
diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
|
|
index b2a54bd..3469f6f 100644
|
|
--- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp
|
|
+++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
|
|
@@ -302,6 +302,14 @@ static vk_device_architecture get_device_architecture(const vk::PhysicalDevice&
|
|
return vk_device_architecture::OTHER;
|
|
}
|
|
|
|
+ // Arrow Lake H (Arc 140T) misreports minSubgroupSize=8 despite being Xe2.
|
|
+ // Device-ID override to force Xe2 classification.
|
|
+ // See: https://github.com/ggml-org/llama.cpp/issues/20776
|
|
+ const uint32_t devid = props.deviceID;
|
|
+ if (devid == 0x7D51 || devid == 0x7D45) {
|
|
+ return vk_device_architecture::INTEL_XE2;
|
|
+ }
|
|
+
|
|
vk::PhysicalDeviceProperties2 props2;
|
|
vk::PhysicalDeviceShaderCorePropertiesAMD shader_core_props_amd;
|
|
vk::PhysicalDeviceShaderIntegerDotProductPropertiesKHR integer_dot_props;
|
|
@@ -341,6 +349,14 @@ static vk_device_architecture get_device_architecture(const vk::PhysicalDevice&
|
|
return vk_device_architecture::OTHER;
|
|
}
|
|
|
|
+ // Arrow Lake H (Arc 140T) misreports minSubgroupSize=8 despite being Xe2.
|
|
+ // Device-ID override to force Xe2 classification.
|
|
+ // See: https://github.com/ggml-org/llama.cpp/issues/20776
|
|
+ const uint32_t devid = props.deviceID;
|
|
+ if (devid == 0x7D51 || devid == 0x7D45) {
|
|
+ return vk_device_architecture::INTEL_XE2;
|
|
+ }
|
|
+
|
|
vk::PhysicalDeviceProperties2 props2;
|
|
vk::PhysicalDeviceSubgroupSizeControlPropertiesEXT subgroup_size_control_props;
|
|
|