mirror of
https://github.com/likelovewant/ollama-for-amd.git
synced 2025-12-21 22:33:56 +00:00
mac: disable bf16 on unsupported OS versions (#11585)
Support for bf16 was added in MacOS v14+ and attempting to enable on older versions causes runtime failures.
This commit is contained in:
@@ -19,7 +19,7 @@ diff --git a/ggml/src/ggml-metal/ggml-metal.m b/ggml/src/ggml-metal/ggml-metal.m
|
|||||||
index a9eeebc6..110c9ece 100644
|
index a9eeebc6..110c9ece 100644
|
||||||
--- a/ggml/src/ggml-metal/ggml-metal.m
|
--- a/ggml/src/ggml-metal/ggml-metal.m
|
||||||
+++ b/ggml/src/ggml-metal/ggml-metal.m
|
+++ b/ggml/src/ggml-metal/ggml-metal.m
|
||||||
@@ -489,6 +489,7 @@ enum ggml_metal_kernel_type {
|
@@ -489,6 +489,7 @@ static void ggml_backend_metal_device_rel(struct ggml_backend_metal_device_conte
|
||||||
GGML_METAL_KERNEL_TYPE_COS,
|
GGML_METAL_KERNEL_TYPE_COS,
|
||||||
GGML_METAL_KERNEL_TYPE_NEG,
|
GGML_METAL_KERNEL_TYPE_NEG,
|
||||||
GGML_METAL_KERNEL_TYPE_SUM_ROWS,
|
GGML_METAL_KERNEL_TYPE_SUM_ROWS,
|
||||||
@@ -27,7 +27,7 @@ index a9eeebc6..110c9ece 100644
|
|||||||
GGML_METAL_KERNEL_TYPE_POOL_2D_AVG_F32,
|
GGML_METAL_KERNEL_TYPE_POOL_2D_AVG_F32,
|
||||||
GGML_METAL_KERNEL_TYPE_POOL_2D_MAX_F32,
|
GGML_METAL_KERNEL_TYPE_POOL_2D_MAX_F32,
|
||||||
GGML_METAL_KERNEL_TYPE_ARGMAX,
|
GGML_METAL_KERNEL_TYPE_ARGMAX,
|
||||||
@@ -1436,6 +1437,7 @@ static struct ggml_backend_metal_context * ggml_metal_init(ggml_backend_dev_t de
|
@@ -1436,6 +1437,7 @@ @implementation GGMLMetalClass
|
||||||
GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_COS, cos, true);
|
GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_COS, cos, true);
|
||||||
GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_NEG, neg, true);
|
GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_NEG, neg, true);
|
||||||
GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SUM_ROWS, sum_rows, true);
|
GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SUM_ROWS, sum_rows, true);
|
||||||
|
|||||||
27
llama/patches/0022-BF16-macos-version-guard.patch
Normal file
27
llama/patches/0022-BF16-macos-version-guard.patch
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Hiltgen <daniel@ollama.com>
|
||||||
|
Date: Wed, 30 Jul 2025 08:43:46 -0700
|
||||||
|
Subject: [PATCH] BF16 macos version guard
|
||||||
|
|
||||||
|
Only enable BF16 on supported MacOS versions (v14+)
|
||||||
|
---
|
||||||
|
ggml/src/ggml-metal/ggml-metal.m | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/ggml/src/ggml-metal/ggml-metal.m b/ggml/src/ggml-metal/ggml-metal.m
|
||||||
|
index 110c9ece..ab46f6e3 100644
|
||||||
|
--- a/ggml/src/ggml-metal/ggml-metal.m
|
||||||
|
+++ b/ggml/src/ggml-metal/ggml-metal.m
|
||||||
|
@@ -89,7 +89,11 @@
|
||||||
|
ctx->has_bfloat |= [ctx->mtl_device supportsFamily:MTLGPUFamilyApple6];
|
||||||
|
|
||||||
|
#if defined(GGML_METAL_USE_BF16)
|
||||||
|
- ctx->use_bfloat = ctx->has_bfloat;
|
||||||
|
+ if (@available(macOS 14.0, *)) {
|
||||||
|
+ ctx->use_bfloat = ctx->has_bfloat;
|
||||||
|
+ } else {
|
||||||
|
+ ctx->use_bfloat = false;
|
||||||
|
+ }
|
||||||
|
#else
|
||||||
|
ctx->use_bfloat = false;
|
||||||
|
#endif
|
||||||
@@ -89,7 +89,11 @@ static id<MTLDevice> ggml_backend_metal_device_acq(struct ggml_backend_metal_dev
|
|||||||
ctx->has_bfloat |= [ctx->mtl_device supportsFamily:MTLGPUFamilyApple6];
|
ctx->has_bfloat |= [ctx->mtl_device supportsFamily:MTLGPUFamilyApple6];
|
||||||
|
|
||||||
#if defined(GGML_METAL_USE_BF16)
|
#if defined(GGML_METAL_USE_BF16)
|
||||||
ctx->use_bfloat = ctx->has_bfloat;
|
if (@available(macOS 14.0, *)) {
|
||||||
|
ctx->use_bfloat = ctx->has_bfloat;
|
||||||
|
} else {
|
||||||
|
ctx->use_bfloat = false;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
ctx->use_bfloat = false;
|
ctx->use_bfloat = false;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user