Skip to content

Commit 1700517

Browse files
committed
Merge remote-tracking branch 'upstream/HEAD' into prism-turboquant
* upstream/HEAD: ci : install server kleidiai runner dependencies (ggml-org#23259) server-context: guarantee there is at least 1 token to decode (ggml-org#23280) server : print graphs reused in slot timings (ggml-org#23279) save-load-state : refactor tests and improve readability (ggml-org#23196) llama-eval : add per-task summary stats (ggml-org#23151) ggml-webgpu : extend GDN for K>1 (ggml-org#23299) [SCYL] add chapter for performance reference in SYCL.md (ggml-org#23315) convert : filter lora tensor names (ggml-org#23077) sycl: add GGML_SYCL_USE_ASYNC_MEM_OP env toggle (ggml-org#22153) rpc : keep last_graph_uid in the device context (ggml-org#23273)
2 parents afcb409 + 00c461c commit 1700517

15 files changed

Lines changed: 592 additions & 314 deletions

File tree

.github/workflows/server-self-hosted.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,32 @@ jobs:
152152
fetch-depth: 0
153153
ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }}
154154

155+
- name: Dependencies
156+
id: depends
157+
run: |
158+
set -euxo pipefail
159+
sudo apt-get update
160+
sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a \
161+
apt-get install -y \
162+
build-essential \
163+
python3-venv \
164+
gpg \
165+
wget \
166+
time \
167+
git-lfs
168+
169+
git lfs install
170+
171+
# install the latest cmake
172+
sudo install -d /usr/share/keyrings
173+
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc \
174+
| gpg --dearmor \
175+
| sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
176+
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' \
177+
| sudo tee /etc/apt/sources.list.d/kitware.list
178+
sudo apt-get update
179+
sudo apt-get install -y cmake
180+
155181
- name: Build
156182
id: cmake_build
157183
run: |

.pi/gg/SYSTEM.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ Pull requests (PRs):
2222
Commits:
2323
- On every commit that you make, include a "Assisted-by: llama.cpp:local pi" tag
2424
- Do not explicitly set the git author in commits - rely on the default git config
25+
- Always use `--no-gpg-sign` when committing
26+
- Never `git push` without explicit confirmation from the user
2527

2628
Resources (read on demand):
2729
- [CONTRIBUTING.md](CONTRIBUTING.md)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ Instructions for adding support for new models: [HOWTO-add-model.md](docs/develo
280280
| [Metal](docs/build.md#metal-build) | Apple Silicon |
281281
| [BLAS](docs/build.md#blas-build) | All |
282282
| [BLIS](docs/backend/BLIS.md) | All |
283-
| [SYCL](docs/backend/SYCL.md) | Intel and Nvidia GPU |
283+
| [SYCL](docs/backend/SYCL.md) | Intel GPU |
284284
| [OpenVINO [In Progress]](docs/backend/OPENVINO.md) | Intel CPUs, GPUs, and NPUs |
285285
| [MUSA](docs/build.md#musa) | Moore Threads GPU |
286286
| [CUDA](docs/build.md#cuda) | Nvidia GPU |

common/common.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1166,7 +1166,7 @@ struct common_init_result::impl {
11661166
std::vector<llama_sampler_seq_config> samplers_seq_config;
11671167
};
11681168

1169-
common_init_result::common_init_result(common_params & params) :
1169+
common_init_result::common_init_result(common_params & params, bool model_only) :
11701170
pimpl(new impl{}) {
11711171
auto mparams = common_model_params_to_llama(params);
11721172
auto cparams = common_context_params_to_llama(params);
@@ -1189,6 +1189,10 @@ common_init_result::common_init_result(common_params & params) :
11891189

11901190
pimpl->model.reset(model);
11911191

1192+
if (model_only) {
1193+
return;
1194+
}
1195+
11921196
const llama_vocab * vocab = llama_model_get_vocab(model);
11931197

11941198
// load and optionally apply lora adapters
@@ -1315,15 +1319,19 @@ std::vector<llama_adapter_lora_ptr> & common_init_result::lora() {
13151319
return pimpl->lora;
13161320
}
13171321

1318-
common_init_result_ptr common_init_from_params(common_params & params) {
1319-
common_init_result_ptr res(new common_init_result(params));
1322+
common_init_result_ptr common_init_from_params(common_params & params, bool model_only) {
1323+
common_init_result_ptr res(new common_init_result(params, model_only));
13201324

13211325
llama_model * model = res->model();
13221326
if (model == NULL) {
13231327
LOG_ERR("%s: failed to load model '%s'\n", __func__, params.model.path.c_str());
13241328
return res;
13251329
}
13261330

1331+
if (model_only) {
1332+
return res;
1333+
}
1334+
13271335
llama_context * lctx = res->context();
13281336
if (lctx == NULL) {
13291337
LOG_ERR("%s: failed to create context with model '%s'\n", __func__, params.model.path.c_str());

common/common.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ struct common_sampler;
857857

858858
// note: defines the model, context, samplers, ets. lifetimes
859859
struct common_init_result {
860-
common_init_result(common_params & params);
860+
common_init_result(common_params & params, bool model_only = false);
861861
~common_init_result();
862862

863863
llama_model * model();
@@ -875,7 +875,7 @@ struct common_init_result {
875875

876876
using common_init_result_ptr = std::unique_ptr<common_init_result>;
877877

878-
common_init_result_ptr common_init_from_params(common_params & params);
878+
common_init_result_ptr common_init_from_params(common_params & params, bool model_only = false);
879879

880880
struct llama_model_params common_model_params_to_llama ( common_params & params);
881881
struct llama_context_params common_context_params_to_llama(const common_params & params);

convert_lora_to_gguf.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,11 @@ def get_tensors(self) -> Iterator[tuple[str, Tensor]]:
445445
if self.lazy:
446446
tensor = LazyTorchTensor.from_eager(tensor)
447447
base_name = get_base_tensor_name(name)
448+
# filter base name, ignore tensor transformations for now
449+
data_gen = lambda g=tensor: g # noqa: E731
450+
if (titem := self.filter_tensors((base_name, data_gen))) is None:
451+
continue
452+
base_name, _ = titem
448453
# note: mergekit-extract-lora also adds token embeddings to the adapter
449454
is_lora_a = ".lora_A.weight" in name or ".lora_embedding_A" in name
450455
is_lora_b = ".lora_B.weight" in name or ".lora_embedding_B" in name

docs/backend/SYCL.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- [News](#news)
66
- [OS](#os)
77
- [Hardware](#hardware)
8+
- [Performance Reference](#performance-reference)
89
- [Docker](#docker)
910
- [Linux](#linux)
1011
- [Windows](#windows)
@@ -51,9 +52,8 @@ The packages for FP32 and FP16 would have different accuracy and performance on
5152

5253
## News
5354

54-
- 2026.04
55-
56-
- Optimize mul_mat by reorder feature for data type: Q4_K, Q5_K, Q_K, Q8_0.
55+
- 2026.04-05
56+
- Optimize mul_mat by reorder feature for data type: Q4_K, Q5_K, Q6_K, Q8_0.
5757
- Fused MoE.
5858
- Upgrate CI and built package for oneAPI 2025.3.3, support Ubuntu 24.04 built package.
5959

@@ -150,6 +150,13 @@ On older Intel GPUs, you may try [OpenCL](/docs/backend/OPENCL.md) although the
150150

151151
NA
152152

153+
## Performance Reference
154+
155+
156+
To get the supported LLMs, GPUs, and performance reference, please check [Performance of llama.cpp on Intel GPU with SYCL backend](https://github.com/ggml-org/llama.cpp/discussions/23313).
157+
158+
You could update your test result in it directly.
159+
153160
## Docker
154161

155162
The docker build option is currently limited to *Intel GPU* targets.

0 commit comments

Comments
 (0)