diff --git a/.github/backend-matrix.yml b/.github/backend-matrix.yml index 5ad6d9e161ed..dc12daf97ee6 100644 --- a/.github/backend-matrix.yml +++ b/.github/backend-matrix.yml @@ -4922,6 +4922,25 @@ includeDarwin: tag-suffix: "-metal-darwin-arm64-vibevoice-cpp" build-type: "metal" lang: "go" + # Vision/utility C++/ggml backends (go+cgo). Their Makefiles already carry a + # Darwin/Metal path (GGML_METAL=ON when build-type=metal); this just builds and + # publishes the metal image so Apple Silicon can install them. + - backend: "depth-anything-cpp" + tag-suffix: "-metal-darwin-arm64-depth-anything-cpp" + build-type: "metal" + lang: "go" + - backend: "locate-anything-cpp" + tag-suffix: "-metal-darwin-arm64-locate-anything-cpp" + build-type: "metal" + lang: "go" + - backend: "rfdetr-cpp" + tag-suffix: "-metal-darwin-arm64-rfdetr-cpp" + build-type: "metal" + lang: "go" + - backend: "sam3-cpp" + tag-suffix: "-metal-darwin-arm64-sam3-cpp" + build-type: "metal" + lang: "go" - backend: "voxtral" tag-suffix: "-metal-darwin-arm64-voxtral" build-type: "metal" diff --git a/backend/go/depth-anything-cpp/Makefile b/backend/go/depth-anything-cpp/Makefile index efe99a626b52..e142607ab31e 100644 --- a/backend/go/depth-anything-cpp/Makefile +++ b/backend/go/depth-anything-cpp/Makefile @@ -40,6 +40,8 @@ else ifeq ($(BUILD_TYPE),hipblas) else ifeq ($(BUILD_TYPE),vulkan) CMAKE_ARGS+=-DGGML_VULKAN=ON -DDA_GGML_VULKAN=ON else ifeq ($(OS),Darwin) + # macOS/Metal: built + published as an OCI image by CI (includeDarwin in + # .github/backend-matrix.yml) so Apple Silicon users can install this backend. ifneq ($(BUILD_TYPE),metal) CMAKE_ARGS+=-DGGML_METAL=OFF else diff --git a/backend/go/locate-anything-cpp/Makefile b/backend/go/locate-anything-cpp/Makefile index ba12c71951e1..c66d57764a1d 100644 --- a/backend/go/locate-anything-cpp/Makefile +++ b/backend/go/locate-anything-cpp/Makefile @@ -33,6 +33,8 @@ else ifeq ($(BUILD_TYPE),hipblas) else ifeq ($(BUILD_TYPE),vulkan) CMAKE_ARGS+=-DGGML_VULKAN=ON -DLA_GGML_VULKAN=ON else ifeq ($(OS),Darwin) + # macOS/Metal: built + published as an OCI image by CI (includeDarwin in + # .github/backend-matrix.yml) so Apple Silicon users can install this backend. ifneq ($(BUILD_TYPE),metal) CMAKE_ARGS+=-DGGML_METAL=OFF else diff --git a/backend/go/rfdetr-cpp/Makefile b/backend/go/rfdetr-cpp/Makefile index 3282720ffa6e..448a8e78b9f1 100644 --- a/backend/go/rfdetr-cpp/Makefile +++ b/backend/go/rfdetr-cpp/Makefile @@ -34,6 +34,8 @@ else ifeq ($(BUILD_TYPE),hipblas) else ifeq ($(BUILD_TYPE),vulkan) CMAKE_ARGS+=-DGGML_VULKAN=ON -DRFDETR_GGML_VULKAN=ON else ifeq ($(OS),Darwin) + # macOS/Metal: built + published as an OCI image by CI (includeDarwin in + # .github/backend-matrix.yml) so Apple Silicon users can install this backend. ifneq ($(BUILD_TYPE),metal) CMAKE_ARGS+=-DGGML_METAL=OFF else diff --git a/backend/go/sam3-cpp/Makefile b/backend/go/sam3-cpp/Makefile index 27b6cedf774b..f91bb356a5e4 100644 --- a/backend/go/sam3-cpp/Makefile +++ b/backend/go/sam3-cpp/Makefile @@ -31,6 +31,8 @@ else ifeq ($(BUILD_TYPE),hipblas) else ifeq ($(BUILD_TYPE),vulkan) CMAKE_ARGS+=-DGGML_VULKAN=ON else ifeq ($(OS),Darwin) + # macOS/Metal: built + published as an OCI image by CI (includeDarwin in + # .github/backend-matrix.yml) so Apple Silicon users can install this backend. ifneq ($(BUILD_TYPE),metal) CMAKE_ARGS+=-DGGML_METAL=OFF else diff --git a/backend/index.yaml b/backend/index.yaml index 4a7a07d82f1f..bc51cf68e725 100644 --- a/backend/index.yaml +++ b/backend/index.yaml @@ -340,6 +340,7 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-sam3-cpp" intel: "intel-sycl-f32-sam3-cpp" vulkan: "vulkan-sam3-cpp" + metal: "metal-sam3-cpp" - &rfdetrcpp name: "rfdetr-cpp" alias: "rfdetr-cpp" @@ -368,6 +369,7 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-rfdetr-cpp" intel: "intel-sycl-f32-rfdetr-cpp" vulkan: "vulkan-rfdetr-cpp" + metal: "metal-rfdetr-cpp" - &locateanything name: "locate-anything" alias: "locate-anything" @@ -397,6 +399,7 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-locate-anything-cpp" intel: "intel-sycl-f32-locate-anything-cpp" vulkan: "vulkan-locate-anything-cpp" + metal: "metal-locate-anything-cpp" - !!merge <<: *locateanything name: "locate-anything-development" capabilities: @@ -409,6 +412,7 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-locate-anything-cpp-development" intel: "intel-sycl-f32-locate-anything-cpp-development" vulkan: "vulkan-locate-anything-cpp-development" + metal: "metal-locate-anything-cpp-development" - !!merge <<: *locateanything name: "cpu-locate-anything-cpp" uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-locate-anything-cpp" @@ -419,6 +423,16 @@ uri: "quay.io/go-skynet/local-ai-backends:master-cpu-locate-anything-cpp" mirrors: - localai/localai-backends:master-cpu-locate-anything-cpp +- !!merge <<: *locateanything + name: "metal-locate-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-locate-anything-cpp +- !!merge <<: *locateanything + name: "metal-locate-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-locate-anything-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-locate-anything-cpp - !!merge <<: *locateanything name: "cuda12-locate-anything-cpp" uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-locate-anything-cpp" @@ -517,6 +531,7 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-depth-anything-cpp" intel: "intel-sycl-f32-depth-anything-cpp" vulkan: "vulkan-depth-anything-cpp" + metal: "metal-depth-anything-cpp" - !!merge <<: *depthanything name: "depth-anything-development" capabilities: @@ -529,6 +544,7 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-depth-anything-cpp-development" intel: "intel-sycl-f32-depth-anything-cpp-development" vulkan: "vulkan-depth-anything-cpp-development" + metal: "metal-depth-anything-cpp-development" - !!merge <<: *depthanything name: "cpu-depth-anything-cpp" uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-depth-anything-cpp" @@ -539,6 +555,16 @@ uri: "quay.io/go-skynet/local-ai-backends:master-cpu-depth-anything-cpp" mirrors: - localai/localai-backends:master-cpu-depth-anything-cpp +- !!merge <<: *depthanything + name: "metal-depth-anything-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-depth-anything-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-depth-anything-cpp +- !!merge <<: *depthanything + name: "metal-depth-anything-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-depth-anything-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-depth-anything-cpp - !!merge <<: *depthanything name: "cuda12-depth-anything-cpp" uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-depth-anything-cpp" @@ -3220,6 +3246,7 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-sam3-cpp-development" intel: "intel-sycl-f32-sam3-cpp-development" vulkan: "vulkan-sam3-cpp-development" + metal: "metal-sam3-cpp-development" - !!merge <<: *sam3cpp name: "cpu-sam3-cpp" uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-sam3-cpp" @@ -3230,6 +3257,16 @@ uri: "quay.io/go-skynet/local-ai-backends:master-cpu-sam3-cpp" mirrors: - localai/localai-backends:master-cpu-sam3-cpp +- !!merge <<: *sam3cpp + name: "metal-sam3-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-sam3-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-sam3-cpp +- !!merge <<: *sam3cpp + name: "metal-sam3-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-sam3-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-sam3-cpp - !!merge <<: *sam3cpp name: "cuda12-sam3-cpp" uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-sam3-cpp" @@ -3303,6 +3340,7 @@ nvidia-l4t-cuda-13: "cuda13-nvidia-l4t-arm64-rfdetr-cpp-development" intel: "intel-sycl-f32-rfdetr-cpp-development" vulkan: "vulkan-rfdetr-cpp-development" + metal: "metal-rfdetr-cpp-development" - !!merge <<: *rfdetrcpp name: "cpu-rfdetr-cpp" uri: "quay.io/go-skynet/local-ai-backends:latest-cpu-rfdetr-cpp" @@ -3313,6 +3351,16 @@ uri: "quay.io/go-skynet/local-ai-backends:master-cpu-rfdetr-cpp" mirrors: - localai/localai-backends:master-cpu-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "metal-rfdetr-cpp" + uri: "quay.io/go-skynet/local-ai-backends:latest-metal-darwin-arm64-rfdetr-cpp" + mirrors: + - localai/localai-backends:latest-metal-darwin-arm64-rfdetr-cpp +- !!merge <<: *rfdetrcpp + name: "metal-rfdetr-cpp-development" + uri: "quay.io/go-skynet/local-ai-backends:master-metal-darwin-arm64-rfdetr-cpp" + mirrors: + - localai/localai-backends:master-metal-darwin-arm64-rfdetr-cpp - !!merge <<: *rfdetrcpp name: "cuda12-rfdetr-cpp" uri: "quay.io/go-skynet/local-ai-backends:latest-gpu-nvidia-cuda-12-rfdetr-cpp"