Files
LocalAI/backend/cpp/llama-cpp/passthrough_options.h
localai-org-maint-bot 40bae01e40 fix(llama-cpp): preserve GPU layers during option passthrough
Stage the negative GPU-layer sentinels expected by the upstream argument parser, then restore LocalAI resolved values unless a passthrough flag explicitly overrides them. This avoids the parser assertion that terminated the backend for any generic option.

Assisted-by: Codex:gpt-5
2026-07-29 14:10:03 +00:00

39 lines
882 B
C++

// SPDX-License-Identifier: MIT
#pragma once
namespace llama_grpc {
struct passthrough_gpu_layers_state {
int main;
int draft;
};
inline passthrough_gpu_layers_state prepare_passthrough_gpu_layers(
int & main_gpu_layers,
int & draft_gpu_layers) {
const passthrough_gpu_layers_state saved{
main_gpu_layers,
draft_gpu_layers,
};
main_gpu_layers = -1;
draft_gpu_layers = -1;
return saved;
}
inline void restore_passthrough_gpu_layers(
int & main_gpu_layers,
int & draft_gpu_layers,
passthrough_gpu_layers_state saved,
bool main_overridden = false,
bool draft_overridden = false) {
if (!main_overridden && main_gpu_layers == -1) {
main_gpu_layers = saved.main;
}
if (!draft_overridden && draft_gpu_layers == -1) {
draft_gpu_layers = saved.draft;
}
}
} // namespace llama_grpc