tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 2187755546cc1548643844ed91ad9f64e8c4c4a1
parent def70ad6d72880f238f03d0994ab727ec11a3477
Author: Aristide Tossou <atossou@mozilla.com>
Date:   Wed,  8 Oct 2025 14:27:11 +0000

Bug 1990534 - Support topk Sampling for llama.cpp. r=padenot

Differential Revision: https://phabricator.services.mozilla.com/D267614

Diffstat:
Mconfig/external/mozinference/mozinference.symbols | 1+
Mtoolkit/components/ml/backends/llama/LlamaBackend.cpp | 4++++
Mtoolkit/components/ml/backends/llama/LlamaRuntimeLinker.h | 1+
3 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/config/external/mozinference/mozinference.symbols b/config/external/mozinference/mozinference.symbols @@ -19,6 +19,7 @@ llama_sampler_chain_init llama_sampler_init_greedy llama_sampler_init_temp llama_sampler_init_dist +llama_sampler_init_top_k llama_sampler_free llama_sampler_sample llama_memory_clear diff --git a/toolkit/components/ml/backends/llama/LlamaBackend.cpp b/toolkit/components/ml/backends/llama/LlamaBackend.cpp @@ -376,6 +376,10 @@ LlamaBackend::SamplerResult LlamaBackend::InitializeSampler( break; } + case LlamaSamplerType::Top_k: + samplerElement = mLib->llama_sampler_init_top_k(samplerConfig.mTopK); + break; + default: auto msg = nsFmtCString(FMT_STRING("{}: Unimplemented sampler type"), diff --git a/toolkit/components/ml/backends/llama/LlamaRuntimeLinker.h b/toolkit/components/ml/backends/llama/LlamaRuntimeLinker.h @@ -47,6 +47,7 @@ namespace mozilla::llama { X(struct llama_sampler*, llama_sampler_init_greedy, (void)) \ X(struct llama_sampler*, llama_sampler_init_temp, (float t)) \ X(struct llama_sampler*, llama_sampler_init_dist, (uint32_t seed)) \ + X(struct llama_sampler*, llama_sampler_init_top_k, (int32_t k)) \ X(void, llama_memory_clear, (llama_memory_t mem, bool data)) \ X(llama_memory_t, llama_get_memory, (const struct llama_context* ctx)) \ X(const struct llama_vocab*, llama_model_get_vocab, \