Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
a4a7e4d
Support isolated Kluster builds and Vulkan device profiling
Oct 10, 2026
ea4a953
Add explicit Kluster manifests and portable contract checks
Oct 10, 2026
43bfa68
Quote the CMake policy version for PowerShell builds
Oct 10, 2026
70dd62b
Fix Windows profiler includes and explicit clock dependency
Oct 10, 2026
1a59a78
Compile Termux memory inspection only on Linux
Oct 10, 2026
ab2fbdd
Guard the Termux environment probe on non-Linux hosts
Oct 10, 2026
847e513
Declare Windows performance API and numeric header dependencies
Oct 10, 2026
733094a
Read Windows pagefile capacity through the supported PSAPI interface
Oct 10, 2026
aeb3afd
Include the clock header where common timestamp helpers use it
Oct 10, 2026
91e5864
Add Windows Vulkan execution evidence and Qwen3 model support
berkkarahan Oct 11, 2026
e4eb58b
Fix unmasked Vulkan softmax and exercise explicit GPU backend tests
berkkarahan Oct 11, 2026
f221716
Add native text Responses and Messages protocols with streaming contr…
berkkarahan Oct 11, 2026
720da84
Honor output projection placement and report Vulkan capacity and comp…
berkkarahan Oct 11, 2026
5e3e2e1
Require explicit opt-in for execution telemetry
berkkarahan Oct 11, 2026
dbb8de4
Keep single-rank inference in one connected execution graph
berkkarahan Oct 11, 2026
501585d
Support fenced structured JSON with streamed content parsing
berkkarahan Oct 11, 2026
19adfe0
Optimize Vulkan decode batches and correct vector and strided reads
berkkarahan Oct 11, 2026
a024a7e
Correct Vulkan batch strides and vector dispatch for tensor views
berkkarahan Oct 11, 2026
622d5c4
Optimize quantized Vulkan vector loops and cover dispatch row tails
berkkarahan Oct 11, 2026
83555d7
Implement OpenAI choice and stream token logprobs
berkkarahan Oct 11, 2026
146ccb6
Honor F32 Vulkan matrix precision and attention range
berkkarahan Oct 11, 2026
857833e
Batch strided Vulkan attention queries without input copies
berkkarahan Oct 11, 2026
f11a4a2
Acknowledge initialized ranks and support zero-transformer coordinators
berkkarahan Oct 11, 2026
e7ee8f6
Encode and verify native profiler matrix operands
berkkarahan Oct 12, 2026
72d4eda
Repair typed Qwen3 kernel profiling and native I/O probes
berkkarahan Oct 12, 2026
cac1288
Measure completed host/device embedding handoffs
berkkarahan Oct 12, 2026
fbed5cb
Profile checked GPU logits downloads at model vocabulary width
berkkarahan Oct 12, 2026
b7d101e
Use selected-expert Vulkan vectors for small MoE batches
berkkarahan Oct 12, 2026
fd24c9d
Reduce device-memory MoE experts while preserving host aggregation
berkkarahan Oct 12, 2026
3e8ee69
Normalize the expert aggregation documentation ending
berkkarahan Oct 12, 2026
f13088f
Reduce Vulkan experts directly with serial-order strided sums
berkkarahan Oct 12, 2026
704986f
Expose shared chat rendering and restore measured MoE aggregation
berkkarahan Oct 12, 2026
5172e39
Rewrite README around fork purpose and integration capabilities
berkkarahan Oct 12, 2026
acd7987
Detect host-safe MSVC native SIMD extensions with checked probes
berkkarahan Oct 12, 2026
6ecb08a
Synchronize CPU cancellation boundaries and skip metadata barriers
berkkarahan Oct 12, 2026
9f548d2
Fix optional Vulkan timing diagnostics without changing graph batching
berkkarahan Oct 12, 2026
cfca7ee
Add baseline Jinja rendering for embedded and custom server templates
berkkarahan Oct 12, 2026
ae9ee59
Build the template contract executable in portable CI
berkkarahan Oct 12, 2026
3e41d47
Stream named function calls across Chat Responses and Messages
berkkarahan Oct 12, 2026
3707d0a
Preserve text tool-call history across the three serving protocols
berkkarahan Oct 12, 2026
ccc8c59
Add baseline tool parser and lazy grammar foundation
berkkarahan Oct 12, 2026
673cd92
Serve automatic and required tools with parallel protocol streams
berkkarahan Oct 12, 2026
37828fe
Prefill generated tool grammars with the existing assistant prefix
berkkarahan Oct 12, 2026
ad2a03c
Support ordered explicit Vulkan devices and weighted layer ownership
berkkarahan Oct 12, 2026
c8a3744
Keep unavailable Vulkan drivers inside the C API boundary
berkkarahan Oct 12, 2026
a031404
Isolate draft decoding and preserve verified token API semantics
berkkarahan Oct 12, 2026
ab96f06
Add bounded prompt caching with rank-wide state transactions [skip ci]
berkkarahan Oct 12, 2026
a5ef318
Add bounded per-slot context checkpoints across ranks [skip ci]
berkkarahan Oct 12, 2026
400a4ff
Support deployment Jinja keyword defaults in managed serving [skip ci]
berkkarahan Oct 12, 2026
9cc8b1e
Contain native startup and sampler errors across C boundaries [skip ci]
berkkarahan Oct 12, 2026
cfdaff4
Carry immutable absolute layer ownership through native execution [sk…
berkkarahan Oct 12, 2026
a314e91
Add ordered segmented ring executor groundwork [skip ci]
berkkarahan Oct 12, 2026
5c19eed
Bind segmented placement to planned graph visits [skip ci]
berkkarahan Oct 12, 2026
54470ae
Support output GPU work without transformer offload [skip ci]
berkkarahan Oct 12, 2026
aeba7fc
Load LoRA tensors by rank ownership with safe cleanup [skip ci]
berkkarahan Oct 12, 2026
cf1890a
Synchronize ordered LoRA selection across managed ranks [skip ci]
berkkarahan Oct 12, 2026
9f7abdc
Verify LoRA bindings and record completed adapter matrix work [skip ci]
berkkarahan Oct 12, 2026
f8aa373
Support embedding and tied-output LoRA with reserved graphs [skip ci]
berkkarahan Oct 12, 2026
9808a10
Support per-request LoRA batches with owned sequence caches [skip ci]
berkkarahan Oct 12, 2026
19cfbf1
Implement activated LoRA prompt phases and neutral cache ownership [s…
berkkarahan Oct 12, 2026
c699b6f
Wire baseline reasoning parsing and token budgets into serving [skip ci]
berkkarahan Oct 12, 2026
59890f4
Add completion-scoped reasoning control and legacy content handling […
berkkarahan Oct 12, 2026
fb1ff38
Match baseline reasoning content and stream contracts [skip ci]
berkkarahan Oct 12, 2026
af3ff6b
Add CPU and Vulkan attention sink groundwork [skip ci]
berkkarahan Oct 12, 2026
1aeaf50
Add GPT-OSS expert graph operations on CPU and Vulkan [skip ci]
berkkarahan Oct 12, 2026
04aa51a
Integrate GPT-OSS loader, segmented graph and Harmony tokenizer [skip…
berkkarahan Oct 12, 2026
c31c5fe
Add MXFP4 storage and CPU/Vulkan execution paths [skip ci]
berkkarahan Oct 12, 2026
901730e
Integrate GPT-OSS tensors into typed model profiling [skip ci]
berkkarahan Oct 13, 2026
b45ae7e
Add owned KV storage layout for compact SWA integration [skip ci]
berkkarahan Oct 13, 2026
4ccaa99
Add transactional compact SWA row metadata [skip ci]
berkkarahan Oct 13, 2026
3c64365
Wire compact SWA attention and sparse cache snapshots [skip ci]
berkkarahan Oct 13, 2026
a99c14d
Coordinate KV rewind and expose full SWA storage [skip ci]
berkkarahan Oct 13, 2026
c96308f
Replay CLI KV history with checked rank transforms [skip ci]
berkkarahan Oct 13, 2026
bbc5755
Replay server context from completed token history [skip ci]
berkkarahan Oct 13, 2026
023c788
Settle grouped KV transforms and CLI self-extend replay [skip ci]
berkkarahan Oct 13, 2026
bcd90dd
Replay server self-extend with origin-aware KV programs [skip ci]
berkkarahan Oct 13, 2026
48c6a57
Account for actual per-layer KV storage in memory estimates [skip ci]
berkkarahan Oct 13, 2026
33921e2
Enable manifest-bound compact GPT-OSS KV storage [skip ci]
berkkarahan Oct 13, 2026
ec2d4f0
Add Gemma3 manifest-owned generation and compact KV paths [skip ci]
berkkarahan Oct 13, 2026
2a0c5ac
Implement projected embedding outputs and bounded batch metadata [ski…
berkkarahan Oct 13, 2026
b1b5e7c
Use projected output width in embedding companion tools [skip ci]
berkkarahan Oct 13, 2026
7f6a136
Bind embedding modes to approved rank roles [skip ci]
berkkarahan Oct 13, 2026
8b5cbe4
Add rank-owned Qwen2-MoE execution and shared-expert costs [skip ci]
berkkarahan Oct 13, 2026
b30588a
Add segmented Phi-3 execution and logical context slot parity [skip ci]
berkkarahan Oct 13, 2026
99e179f
Add rank-owned Gemma2 execution and compact sliding KV [skip ci]
berkkarahan Oct 13, 2026
c7bd885
Add Gemma and Granite dense segmented execution with LongRoPE [skip ci]
berkkarahan Oct 13, 2026
953b629
Add Granite routed and shared expert segmented execution [skip ci]
berkkarahan Oct 13, 2026
731eb61
Add Granite SWA segmented execution and fused expert projections [ski…
berkkarahan Oct 13, 2026
483a90f
Add OLMo2 rank-owned execution and compact sliding attention [skip ci]
berkkarahan Oct 13, 2026
d69be68
Add OLMo and OLMoE rank-owned segmented execution [skip ci]
berkkarahan Oct 13, 2026
cec1a40
Add OpenELM rank-owned execution with per-layer dimensions [skip ci]
berkkarahan Oct 13, 2026
f984f77
Add rank-owned BERT embedding execution and coordinator pooling input…
berkkarahan Oct 13, 2026
2632e0f
Carry GGUF classifier labels and multi-output rank vectors [skip ci]
berkkarahan Oct 13, 2026
077c9c5
Add baseline rerank ordering and top_n for managed serving [skip ci]
berkkarahan Oct 13, 2026
146ccc7
Support TEI rerank request and response format [skip ci]
berkkarahan Oct 13, 2026
aaee8b4
Honor parse_special in tokenizer API [skip ci]
berkkarahan Oct 13, 2026
b18ae11
Add OpenAI text completion response path [skip ci]
berkkarahan Oct 13, 2026
0c2f229
Repair FIM infill request handling [skip ci]
berkkarahan Oct 13, 2026
6681aec
Keep literal FIM inputs literal [skip ci]
berkkarahan Oct 13, 2026
f4317ea
Expose raw completion capability and validate native requests [skip ci]
berkkarahan Oct 13, 2026
a9d1099
Require explicit devices for manifest GPU ranks [skip ci]
berkkarahan Oct 13, 2026
35d9aad
Report selected Vulkan profiler device [skip ci]
berkkarahan Oct 13, 2026
ab3eea9
Add rank-local segmented GPT-2 execution
berkkarahan Oct 13, 2026
6733c62
Add rank-local segmented GPT-NeoX execution
berkkarahan Oct 13, 2026
e2b6489
Add rank-local segmented MPT execution
berkkarahan Oct 13, 2026
1d4d574
Add rank-local segmented StarCoder execution
berkkarahan Oct 13, 2026
831948f
Add REFACT segmented execution support
berkkarahan Oct 13, 2026
d59ed1d
Add BLOOM segmented execution support
berkkarahan Oct 13, 2026
4127ef8
Add STABLELM segmented execution support
berkkarahan Oct 13, 2026
9bbb50b
Add QWEN segmented execution support
berkkarahan Oct 13, 2026
751a256
Add PHI2 segmented execution support
berkkarahan Oct 13, 2026
ddc3803
Add PLAMO segmented execution support
berkkarahan Oct 13, 2026
a31eb54
Add CODESHELL segmented execution support
berkkarahan Oct 13, 2026
e21c6f6
Add ORION segmented execution support
berkkarahan Oct 13, 2026
3d9852e
Add INTERNLM2 segmented execution support
berkkarahan Oct 13, 2026
5809e14
Add MINICPM segmented execution support
berkkarahan Oct 13, 2026
ca42428
Add MINICPM3 segmented execution support
berkkarahan Oct 13, 2026
b7a4077
Add STARCODER2 segmented execution support
berkkarahan Oct 13, 2026
a6b838f
Add XVERSE segmented execution support
berkkarahan Oct 13, 2026
62a25c6
Add COMMAND_R segmented execution support
berkkarahan Oct 13, 2026
2496f53
Add DBRX segmented execution support
berkkarahan Oct 13, 2026
27c30b5
Add GROK segmented execution support
berkkarahan Oct 13, 2026
fd6c675
Add ARCTIC segmented execution support
berkkarahan Oct 13, 2026
7456591
Add BAICHUAN segmented execution support
berkkarahan Oct 13, 2026
12fda95
Add FALCON segmented execution support
berkkarahan Oct 13, 2026
22dab0d
Add CHAMELEON segmented execution support
berkkarahan Oct 13, 2026
60baa51
Add NEMOTRON segmented execution support
berkkarahan Oct 13, 2026
3534a86
Add BITNET segmented execution support
berkkarahan Oct 13, 2026
d8e846b
Add EXAONE segmented execution support
berkkarahan Oct 13, 2026
1ad6a60
Add JAIS segmented execution support
berkkarahan Oct 13, 2026
886fd03
Add CHATGLM segmented execution support
berkkarahan Oct 13, 2026
7f3a871
Add MAMBA segmented execution support
berkkarahan Oct 13, 2026
7f67788
Add RWKV6 segmented execution support
berkkarahan Oct 13, 2026
691538a
Add DEEPSEEK2 segmented execution support
berkkarahan Oct 13, 2026
31c1e22
Add T5 segmented execution support
berkkarahan Oct 13, 2026
6c5db7d
Harden JSON-native tool analysis and split grammar TU names
berkkarahan Oct 13, 2026
3107200
Add JSON-native content fallback and refresh preserved tokens after p…
berkkarahan Oct 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .github/workflows/kluster-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Kluster portable source build
on: [push, pull_request, workflow_dispatch]
jobs:
cpu:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: cmake -S . -B build -DGGML_METAL=OFF -DGGML_VULKAN=OFF -DGGML_CUDA=OFF -DGGML_BLAS=OFF -DBUILD_SHARED_LIBS=OFF -DLLAMA_BUILD_TESTS=OFF "-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
- run: cmake --build build --config Release --target llama-server llama-cli profile-tool prima-contract-test prima-server-contract-test prima-profiler-contract-test prima-template-contract-test prima-chat-parser-contract-test -j 4
- run: ctest --test-dir build -C Release --output-on-failure
- uses: actions/upload-artifact@v4
with:
name: prima-${{ matrix.os }}
path: build/bin/
windows-vulkan:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install Vulkan SDK
shell: pwsh
run: |
$ErrorActionPreference = 'Stop'
$sdkRoot = Join-Path $env:RUNNER_TEMP 'VulkanSDK'
$sdkInstaller = Join-Path $env:RUNNER_TEMP 'vulkan-sdk.exe'
Invoke-WebRequest 'https://sdk.lunarg.com/sdk/download/1.4.363.0/windows/vulkansdk-windows-X64-1.4.363.0.exe' -OutFile $sdkInstaller
$installed = Start-Process -FilePath $sdkInstaller -ArgumentList @('--root', $sdkRoot, '--accept-licenses', '--default-answer', '--confirm-command', 'install') -WindowStyle Hidden -Wait -PassThru
if ($installed.ExitCode -ne 0) { throw 'Vulkan SDK install failed' }
"VULKAN_SDK=$sdkRoot" | Out-File $env:GITHUB_ENV -Append -Encoding utf8
(Join-Path $sdkRoot 'Bin') | Out-File $env:GITHUB_PATH -Append -Encoding utf8
- run: cmake -S . -B build -DGGML_VULKAN=ON -DGGML_CUDA=OFF -DGGML_BLAS=OFF -DBUILD_SHARED_LIBS=OFF -DLLAMA_BUILD_TESTS=OFF "-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
- run: cmake --build build --config Release --target llama-server llama-cli profile-tool prima-contract-test prima-server-contract-test prima-profiler-contract-test prima-template-contract-test prima-chat-parser-contract-test -j 4
- run: ctest --test-dir build -C Release --output-on-failure
# Hosted runners establish compilation, not physical GPU inference.
- name: Check unavailable Vulkan driver handling
shell: pwsh
run: |
$env:VK_DRIVER_FILES = Join-Path $env:RUNNER_TEMP 'prima-missing-driver.json'
$env:VK_ICD_FILENAMES = $env:VK_DRIVER_FILES
& .\build\bin\Release\prima-server-contract-test.exe
if ($LASTEXITCODE -ne 0) { throw 'Driver-unavailable server contracts failed' }
- uses: actions/upload-artifact@v4
with:
name: prima-windows-vulkan
path: build/bin/
48 changes: 48 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,30 @@ if (NOT TARGET ggml)
add_subdirectory(ggml)
# ... otherwise assume ggml is added by a parent CMakeLists.txt
endif()
# Kluster pins distributed dependencies in the isolated runtime build.
include(FetchContent)
set(ZMQ_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(WITH_LIBSODIUM OFF CACHE BOOL "" FORCE)
set(WITH_LIBBSD OFF CACHE BOOL "" FORCE)
set(ENABLE_CURVE OFF CACHE BOOL "" FORCE)
set(CPPZMQ_BUILD_TESTS OFF CACHE BOOL "" FORCE)
FetchContent_Declare(libzmq
URL https://github.com/zeromq/libzmq/archive/622fc6dde99ee172ebaa9c8628d85a7a1995a21d.tar.gz
URL_HASH SHA256=65d021968f90d61fd50d8e50409bdd494b040602bfb043e1bd5647ab035db3b4)
FetchContent_MakeAvailable(libzmq)
FetchContent_Declare(cppzmq
URL https://github.com/zeromq/cppzmq/archive/c94c20743ed7d4aa37835a5c46567ab0790d4acc.tar.gz
URL_HASH SHA256=6fab1d2522bc3c5f952f176fe7c486f83991fb61f2c5acc63fa33fdb5928ecf3)
FetchContent_GetProperties(cppzmq)
if(NOT cppzmq_POPULATED)
FetchContent_Populate(cppzmq)
endif()
add_subdirectory(src)
if (LLAMA_BUILD_COMMON)
add_executable(profile-tool tools/profile_tool.cpp)
target_link_libraries(profile-tool PRIVATE common)
endif()

#
# install
Expand Down Expand Up @@ -210,3 +233,28 @@ if (LLAMA_BUILD_EXAMPLES)
add_subdirectory(examples)
add_subdirectory(pocs)
endif()

# Contract checks do not require a model or GPU and run on all build platforms.
add_executable(prima-contract-test tests/prima-contract.cpp)
target_include_directories(prima-contract-test PRIVATE common)
enable_testing()
add_test(NAME prima-contract-test COMMAND prima-contract-test)
if(LLAMA_BUILD_COMMON)
add_executable(prima-profiler-contract-test tests/prima-profiler-contract.cpp)
target_link_libraries(prima-profiler-contract-test PRIVATE common)
target_compile_features(prima-profiler-contract-test PRIVATE cxx_std_17)
add_test(NAME prima-profiler-contract-test COMMAND prima-profiler-contract-test)
set_tests_properties(prima-profiler-contract-test PROPERTIES TIMEOUT 120)
add_executable(prima-server-contract-test tests/prima-server-contract.cpp)
target_link_libraries(prima-server-contract-test PRIVATE common)
target_compile_features(prima-server-contract-test PRIVATE cxx_std_17)
add_test(NAME prima-server-contract-test COMMAND prima-server-contract-test)
add_executable(prima-template-contract-test tests/prima-template-contract.cpp)
target_link_libraries(prima-template-contract-test PRIVATE common)
add_test(NAME prima-template-contract-test COMMAND prima-template-contract-test)
set_tests_properties(prima-template-contract-test PROPERTIES TIMEOUT 60)
add_executable(prima-chat-parser-contract-test tests/prima-chat-parser-contract.cpp)
target_link_libraries(prima-chat-parser-contract-test PRIVATE common)
add_test(NAME prima-chat-parser-contract-test COMMAND prima-chat-parser-contract-test)
set_tests_properties(prima-chat-parser-contract-test PROPERTIES TIMEOUT 60)
endif()
Loading
Loading