mirror of
https://github.com/mudler/LocalAI.git
synced 2026-07-30 09:57:57 -04:00
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
39 lines
882 B
C++
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
|