Skip to content

Commit fa19b08

Browse files
mudler's LocalAI [bot]mudlerlocalai-org-maint-bot
authored
chore: ⬆️ Update mudler/vllm.cpp to 6738e0b4639199f3ff0998815e4d32bfa7fe5be2 (mudler#11647)
* ⬆️ Update mudler/vllm.cpp Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(vllm-cpp): mirror ABI v23 The new engine pin reports ABI v23 and appends mmproj_path to vllm_model_params. LocalAI still declares v21, so the build-time ABI guard rejects every backend build. Grow the Go mirror by the appended pointer and update its offset checks. ABI v23 adds a video function but does not change the mirrored text structs. Assisted-by: Codex:gpt-5.6 [systematic-debugging] --------- 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 <bot-opensource@localaisrl.com>
1 parent bbd3ab5 commit fa19b08

3 files changed

Lines changed: 8 additions & 6 deletions

File tree

backend/go/vllm-cpp/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ JOBS?=$(shell nproc --ignore=1 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || e
1111

1212
# vllm.cpp version
1313
VLLM_CPP_REPO?=https://github.com/mudler/vllm.cpp
14-
VLLM_CPP_VERSION?=438305e1577768ec0f75729456a4c8b9f425e2ee
14+
VLLM_CPP_VERSION?=6738e0b4639199f3ff0998815e4d32bfa7fe5be2
1515

1616
# MLX GEMM provider (darwin/metal only; see the metal branch below for why).
1717
# Consumed as the prebuilt pip wheel: building MLX from source needs `xcrun

backend/go/vllm-cpp/govllmcpp.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package main
22

3-
// purego bindings for the vllm.cpp stable C ABI (include/vllm.h, ABI v21).
3+
// purego bindings for the vllm.cpp stable C ABI (include/vllm.h, ABI v23).
44
//
55
// The structs below are hand-mirrored PODs of the C declarations, with
66
// explicit padding so the Go layout matches the C layout on linux/darwin
@@ -21,7 +21,7 @@ import (
2121
// the header of the VLLM_CPP_VERSION pinned in the Makefile: the build checks
2222
// the two against each other, because a mismatch is only caught at runtime by
2323
// registerLib, where it takes the backend down on every load (issue #11379).
24-
const abiVersion = 21
24+
const abiVersion = 23
2525

2626
// The ABI's tri-state toggles (enable_prefix_caching ABI v7,
2727
// enable_jump_forward ABI v10) share one encoding: 0 is NOT "off", it is
@@ -83,6 +83,7 @@ type cModelParams struct {
8383
LanguageModelOnly int32 // 0 = multimodal inputs enabled (ABI v19)
8484
_ [4]byte
8585
LimitMMPerPrompt uintptr // const char* JSON; NULL = default limits (ABI v19)
86+
MMProjPath uintptr // const char*; NULL = no GGUF projector (ABI v22)
8687
}
8788

8889
// cSamplingParams mirrors vllm_sampling_params (structured fields included).

backend/go/vllm-cpp/vllmcpp_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ func TestVllmCpp(t *testing.T) {
1616
RunSpecs(t, "vllm-cpp suite")
1717
}
1818

19-
// The Go POD mirrors must match the C struct layout of vllm.h (ABI v21)
19+
// The Go POD mirrors must match the C struct layout of vllm.h (ABI v23)
2020
// byte-for-byte: these offsets are the C offsets on LP64 (linux/darwin
2121
// amd64+arm64). A failure here means govllmcpp.go drifted from vllm.h.
2222
var _ = Describe("C ABI struct mirrors", func() {
2323
It("declares the ABI version the pinned engine reports", func() {
2424
// VLLM_ABI_VERSION in the vllm.h of VLLM_CPP_VERSION (Makefile).
2525
// Moving the pin past this without growing the mirrors below ships a
2626
// backend that refuses every load at startup (issue #11379).
27-
Expect(abiVersion).To(Equal(21))
27+
Expect(abiVersion).To(Equal(23))
2828
})
2929

3030
It("cModelParams matches vllm_model_params", func() {
@@ -51,7 +51,8 @@ var _ = Describe("C ABI struct mirrors", func() {
5151
Expect(unsafe.Offsetof(p.KVCacheMemoryBytes)).To(Equal(uintptr(104)))
5252
Expect(unsafe.Offsetof(p.LanguageModelOnly)).To(Equal(uintptr(112)))
5353
Expect(unsafe.Offsetof(p.LimitMMPerPrompt)).To(Equal(uintptr(120)))
54-
Expect(unsafe.Sizeof(p)).To(Equal(uintptr(128)))
54+
Expect(unsafe.Offsetof(p.MMProjPath)).To(Equal(uintptr(128)))
55+
Expect(unsafe.Sizeof(p)).To(Equal(uintptr(136)))
5556
})
5657

5758
It("cSamplingParams matches vllm_sampling_params (ABI v8)", func() {

0 commit comments

Comments
 (0)