Skip to content

Commit 6dcb899

Browse files
committed
metal : fix build when MTLGPUFamilyApple3 is not available
ggml-ci
1 parent 4b161bc commit 6dcb899

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

ggml/src/ggml-metal.m

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222

2323
// globals
2424

25+
// overload of MTLGPUFamilyMetal3 (not available in some environments)
26+
static const NSInteger MTLGPUFamilyMetal3_GGML = 5001;
27+
2528
// initialized in ggml_backend_metal_reg
2629
static struct ggml_backend_reg g_ggml_backend_metal_reg;
2730
static struct ggml_backend_device g_ggml_backend_metal_device;
@@ -46,7 +49,7 @@
4649
g_state.mtl_device = MTLCreateSystemDefaultDevice();
4750

4851
g_state.support_simdgroup_reduction = [g_state.mtl_device supportsFamily:MTLGPUFamilyApple7];
49-
g_state.support_simdgroup_reduction |= [g_state.mtl_device supportsFamily:MTLGPUFamilyMetal3];
52+
g_state.support_simdgroup_reduction |= [g_state.mtl_device supportsFamily:MTLGPUFamilyMetal3_GGML];
5053

5154
g_state.support_simdgroup_mm = [g_state.mtl_device supportsFamily:MTLGPUFamilyApple7];
5255
}
@@ -442,8 +445,6 @@ @implementation GGMLMetalClass
442445
// print MTL GPU family:
443446
GGML_LOG_INFO("%s: GPU name: %s\n", __func__, [[ctx->device name] UTF8String]);
444447

445-
const NSInteger MTLGPUFamilyMetal3 = 5001;
446-
447448
// determine max supported GPU family
448449
// https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf
449450
// https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf
@@ -462,9 +463,9 @@ @implementation GGMLMetalClass
462463
}
463464
}
464465

465-
for (int i = MTLGPUFamilyMetal3 + 5; i >= MTLGPUFamilyMetal3; --i) {
466+
for (int i = MTLGPUFamilyMetal3_GGML + 5; i >= MTLGPUFamilyMetal3_GGML; --i) {
466467
if ([ctx->device supportsFamily:i]) {
467-
GGML_LOG_INFO("%s: GPU family: MTLGPUFamilyMetal%d (%d)\n", __func__, i - (int) MTLGPUFamilyMetal3 + 3, i);
468+
GGML_LOG_INFO("%s: GPU family: MTLGPUFamilyMetal%d (%d)\n", __func__, i - (int) MTLGPUFamilyMetal3_GGML + 3, i);
468469
break;
469470
}
470471
}

0 commit comments

Comments
 (0)