22
22
23
23
// globals
24
24
25
+ // overload of MTLGPUFamilyMetal3 (not available in some environments)
26
+ static const NSInteger MTLGPUFamilyMetal3_GGML = 5001 ;
27
+
25
28
// initialized in ggml_backend_metal_reg
26
29
static struct ggml_backend_reg g_ggml_backend_metal_reg;
27
30
static struct ggml_backend_device g_ggml_backend_metal_device;
46
49
g_state.mtl_device = MTLCreateSystemDefaultDevice ();
47
50
48
51
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 ];
50
53
51
54
g_state.support_simdgroup_mm = [g_state.mtl_device supportsFamily: MTLGPUFamilyApple7];
52
55
}
@@ -442,8 +445,6 @@ @implementation GGMLMetalClass
442
445
// print MTL GPU family:
443
446
GGML_LOG_INFO (" %s : GPU name: %s \n " , __func__, [[ctx->device name ] UTF8String ]);
444
447
445
- const NSInteger MTLGPUFamilyMetal3 = 5001 ;
446
-
447
448
// determine max supported GPU family
448
449
// https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf
449
450
// https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf
@@ -462,9 +463,9 @@ @implementation GGMLMetalClass
462
463
}
463
464
}
464
465
465
- for (int i = MTLGPUFamilyMetal3 + 5 ; i >= MTLGPUFamilyMetal3 ; --i) {
466
+ for (int i = MTLGPUFamilyMetal3_GGML + 5 ; i >= MTLGPUFamilyMetal3_GGML ; --i) {
466
467
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);
468
469
break ;
469
470
}
470
471
}
0 commit comments