From 3584e0776df4d30e57483f7852128e9c2e2c470a Mon Sep 17 00:00:00 2001 From: "mudler's LocalAI [bot]" <139863280+localai-bot@users.noreply.github.com> Date: Tue, 21 Jul 2026 18:06:30 +0200 Subject: [PATCH] chore: :arrow_up: Update antirez/ds4 to `efdadd41e20134af4f3381e1ed90e96fe4faef6f` (#11010) * :arrow_up: Update antirez/ds4 Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(ds4): link new tensor parallel objects The updated ds4 revision split tensor-parallel transport and layer placement into separate translation units. Build and link those objects on CPU, CUDA, and Metal builds. Assisted-by: Codex:gpt-5 --------- Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: mudler <2420543+mudler@users.noreply.github.com> Co-authored-by: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com> --- backend/cpp/ds4/CMakeLists.txt | 9 +++++---- backend/cpp/ds4/Makefile | 23 +++++++++++------------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/backend/cpp/ds4/CMakeLists.txt b/backend/cpp/ds4/CMakeLists.txt index afc3dd43f..10d999729 100644 --- a/backend/cpp/ds4/CMakeLists.txt +++ b/backend/cpp/ds4/CMakeLists.txt @@ -76,12 +76,13 @@ elseif(DS4_GPU STREQUAL "cpu") set(DS4_OBJS "${DS4_DIR}/ds4_cpu.o") endif() -# ds4.c now references ds4_distributed.c (distributed inference) and ds4_ssd.c -# (SSD expert-cache), each split into its own translation unit upstream. Both -# are GPU-agnostic objects shared by every GPU mode, so link them in regardless -# of DS4_GPU. +# Upstream splits distributed inference, tensor-parallel transport, the SSD +# expert cache, and layer placement into GPU-agnostic translation units. Link +# them regardless of DS4_GPU. list(APPEND DS4_OBJS "${DS4_DIR}/ds4_distributed.o") +list(APPEND DS4_OBJS "${DS4_DIR}/ds4_tp.o") list(APPEND DS4_OBJS "${DS4_DIR}/ds4_ssd.o") +list(APPEND DS4_OBJS "${DS4_DIR}/ds4_layer_pack.o") add_executable(${TARGET} grpc-server.cpp diff --git a/backend/cpp/ds4/Makefile b/backend/cpp/ds4/Makefile index a739a7d56..cfc0b151b 100644 --- a/backend/cpp/ds4/Makefile +++ b/backend/cpp/ds4/Makefile @@ -1,10 +1,10 @@ # ds4 backend Makefile. # -# Upstream pin lives below as DS4_VERSION?=80ebbc396aee40eedc1d829222f3362d10fa4c6c +# Upstream pin lives below as DS4_VERSION?=efdadd41e20134af4f3381e1ed90e96fe4faef6f # (.github/bump_deps.sh) can find and update it - matches the # llama-cpp / ik-llama-cpp / turboquant convention. -DS4_VERSION?=80ebbc396aee40eedc1d829222f3362d10fa4c6c +DS4_VERSION?=efdadd41e20134af4f3381e1ed90e96fe4faef6f DS4_REPO?=https://github.com/antirez/ds4 CURRENT_MAKEFILE_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) @@ -18,20 +18,19 @@ UNAME_S := $(shell uname -s) CMAKE_ARGS ?= -DCMAKE_BUILD_TYPE=Release -# ds4_distributed.o and ds4_ssd.o are GPU-agnostic translation units that -# ds4.c/ds4_cpu.o now reference (upstream split distributed inference and the -# SSD expert-cache into their own .c files). Both objects are shared by every -# GPU mode, so they are appended unconditionally below. +# Upstream splits distributed inference, tensor-parallel transport, the SSD +# expert cache, and layer placement into GPU-agnostic translation units. They +# are shared by every GPU mode, so append them unconditionally below. ifeq ($(BUILD_TYPE),cublas) CMAKE_ARGS += -DDS4_GPU=cuda - DS4_OBJ_TARGET := ds4.o ds4_cuda.o ds4_distributed.o ds4_ssd.o + DS4_OBJ_TARGET := ds4.o ds4_cuda.o ds4_distributed.o ds4_tp.o ds4_ssd.o ds4_layer_pack.o else ifeq ($(UNAME_S),Darwin) CMAKE_ARGS += -DDS4_GPU=metal - DS4_OBJ_TARGET := ds4.o ds4_metal.o ds4_distributed.o ds4_ssd.o + DS4_OBJ_TARGET := ds4.o ds4_metal.o ds4_distributed.o ds4_tp.o ds4_ssd.o ds4_layer_pack.o else # CPU reference path (Linux only - macOS CPU path is broken by VM bug per ds4 README). CMAKE_ARGS += -DDS4_GPU=cpu - DS4_OBJ_TARGET := ds4_cpu.o ds4_distributed.o ds4_ssd.o + DS4_OBJ_TARGET := ds4_cpu.o ds4_distributed.o ds4_tp.o ds4_ssd.o ds4_layer_pack.o endif ifneq ($(NATIVE),true) @@ -56,11 +55,11 @@ ds4: # the right per-platform compile flags (Objective-C/Metal on Darwin, nvcc on Linux+CUDA). ds4/ds4.o: ds4 ifeq ($(BUILD_TYPE),cublas) - +$(MAKE) -C ds4 ds4.o ds4_cuda.o ds4_distributed.o ds4_ssd.o + +$(MAKE) -C ds4 ds4.o ds4_cuda.o ds4_distributed.o ds4_tp.o ds4_ssd.o ds4_layer_pack.o else ifeq ($(UNAME_S),Darwin) - +$(MAKE) -C ds4 ds4.o ds4_metal.o ds4_distributed.o ds4_ssd.o + +$(MAKE) -C ds4 ds4.o ds4_metal.o ds4_distributed.o ds4_tp.o ds4_ssd.o ds4_layer_pack.o else - +$(MAKE) -C ds4 ds4_cpu.o ds4_distributed.o ds4_ssd.o + +$(MAKE) -C ds4 ds4_cpu.o ds4_distributed.o ds4_tp.o ds4_ssd.o ds4_layer_pack.o endif grpc-server: ds4/ds4.o