Skip to content

Commit 6a196d7

Browse files
committed
Address Codex review after upstream sync
1 parent e6fdbce commit 6a196d7

5 files changed

Lines changed: 37 additions & 23 deletions

File tree

common/common.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -617,7 +617,11 @@ struct common_params {
617617
std::map<std::string, std::string> default_template_kwargs;
618618

619619
// UI configs
620-
bool ui = true;
620+
#ifdef LLAMA_UI_DEFAULT_ENABLED
621+
bool ui = LLAMA_UI_DEFAULT_ENABLED != 0;
622+
#else
623+
bool ui = false;
624+
#endif
621625

622626
// Deprecated: use ui, ui_mcp_proxy, ui_config_json instead
623627
bool webui = ui;

ggml/src/ggml-opencl/ggml-opencl.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,8 @@ struct ggml_backend_opencl_context {
713713
}
714714

715715
void write_profiling_info() {
716+
flush_profiling_batch();
717+
716718
if (profiling_results.empty()) {
717719
return;
718720
}

scripts/ui-assets.cmake

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Provision UI assets and generate ui.cpp/ui.h.
22
#
33
# Asset provisioning priority:
4-
# 1. Pre-built assets in SRC_DIST_DIR (manually built by user)
4+
# 1. If BUILD_UI=ON: pre-built assets in SRC_DIST_DIR (manually built by user)
55
# 2. If BUILD_UI=ON: npm build
6-
# 3. If above did not produce assets and HF_ENABLED=ON: HF Bucket download
6+
# 3. If BUILD_UI=ON, above did not produce assets, and HF_ENABLED=ON: HF Bucket download
77

88
cmake_minimum_required(VERSION 3.16)
99

@@ -257,7 +257,7 @@ function(emit_files)
257257

258258
if("${LLAMA_UI_EMBED}" STREQUAL "")
259259
set(h "#pragma once\n\n#include <stddef.h>\n\n")
260-
if(present)
260+
if(BUILD_UI AND present)
261261
string(APPEND h "#define LLAMA_UI_HAS_ASSETS 1\n\n")
262262
endif()
263263
string(APPEND h
@@ -270,7 +270,7 @@ function(emit_files)
270270
)
271271

272272
set(cpp "#include \"ui.h\"\n\n#include <string.h>\n\n")
273-
if(present)
273+
if(BUILD_UI AND present)
274274
set(asset_index 0)
275275
foreach(asset ${ASSETS})
276276
file(READ "${DIST_DIR}/${asset}" asset_hex HEX)
@@ -318,7 +318,7 @@ function(emit_files)
318318
endif()
319319

320320
set(args "${UI_CPP}" "${UI_H}")
321-
if(present)
321+
if(BUILD_UI AND present)
322322
foreach(asset ${ASSETS})
323323
list(APPEND args "${asset}" "${DIST_DIR}/${asset}")
324324
endforeach()
@@ -336,10 +336,12 @@ endfunction()
336336
# ---------------------------------------------------------------------------
337337
# 1. Priority 1: pre-built assets supplied in tools/ui/dist
338338
# ---------------------------------------------------------------------------
339-
copy_src_dist(SRC_OK)
340-
if(SRC_OK)
341-
emit_files()
342-
return()
339+
if(BUILD_UI)
340+
copy_src_dist(SRC_OK)
341+
if(SRC_OK)
342+
emit_files()
343+
return()
344+
endif()
343345
endif()
344346

345347
# ---------------------------------------------------------------------------
@@ -355,9 +357,9 @@ if(BUILD_UI)
355357
endif()
356358

357359
# ---------------------------------------------------------------------------
358-
# 3. Priority 3: HF Bucket download (if npm did not produce assets and HF_ENABLED=ON)
360+
# 3. Priority 3: HF Bucket download (if BUILD_UI=ON, npm did not produce assets, and HF_ENABLED=ON)
359361
# ---------------------------------------------------------------------------
360-
if(NOT provisioned AND HF_ENABLED)
362+
if(BUILD_UI AND NOT provisioned AND HF_ENABLED)
361363
resolve_version(VERSION)
362364

363365
set(stamp_ok FALSE)
@@ -388,7 +390,7 @@ endif()
388390
# ---------------------------------------------------------------------------
389391
# 4. Fallback: warn about stale or missing assets, then emit whatever we have
390392
# ---------------------------------------------------------------------------
391-
if(NOT provisioned)
393+
if(BUILD_UI AND NOT provisioned)
392394
assets_present(have_assets)
393395
if(have_assets)
394396
message(WARNING "UI: provisioning failed; embedding stale assets from ${DIST_DIR}")
@@ -399,6 +401,8 @@ if(NOT provisioned)
399401
"https://github.com/ggml-org/llama.cpp/releases and "
400402
"extract to tools/ui/dist.")
401403
endif()
404+
elseif(NOT BUILD_UI)
405+
message(STATUS "UI: LLAMA_BUILD_UI=OFF, building without an embedded UI")
402406
endif()
403407

404408
emit_files()

tools/server/server-context.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -826,33 +826,32 @@ struct server_context_impl {
826826
cparams_dft.n_rs_seq = 0;
827827

828828
std::vector<ggml_backend_dev_t> devs;
829+
std::vector<ggml_backend_dev_t> target_devs;
829830
uint32_t hp_ngl = 0;
830831
uint32_t hp_nct = 0;
831832
uint32_t hp_nex = 0;
832833
try {
834+
auto mparams_tgt = common_model_params_to_llama(params_base);
835+
auto cparams_tgt = common_context_params_to_llama(params_base);
836+
(void) common_get_device_memory_data(
837+
params_base.model.path.c_str(), &mparams_tgt, &cparams_tgt,
838+
target_devs, hp_ngl, hp_nct, hp_nex, GGML_LOG_LEVEL_ERROR);
839+
833840
auto dmd = common_get_device_memory_data(
834841
params_dft.model.path.c_str(), &mparams_dft, &cparams_dft,
835842
devs, hp_ngl, hp_nct, hp_nex, GGML_LOG_LEVEL_ERROR);
836843

837844
GGML_ASSERT(!params_base.fit_params_target.empty());
838845
size_t total = 0;
839846

840-
std::vector<ggml_backend_dev_t> tgt_devices = params.devices;
841-
842-
if (tgt_devices.empty()) {
843-
for(size_t i = 0; i < ggml_backend_dev_count(); ++i) {
844-
tgt_devices.push_back(ggml_backend_dev_get(i));
845-
}
846-
}
847-
848847
for (size_t j = 0; j < devs.size(); ++j) {
849848
const size_t bytes =
850849
(measure_model_bytes ? dmd[j].mb.model : 0) +
851850
dmd[j].mb.context +
852851
dmd[j].mb.compute;
853852
total += bytes;
854-
for (size_t i = 0; i < tgt_devices.size(); i++) {
855-
if (tgt_devices[i] == devs[j]) {
853+
for (size_t i = 0; i < target_devs.size(); ++i) {
854+
if (target_devs[i] == devs[j] && i < params_base.fit_params_target.size()) {
856855
SRV_DBG("[spec] adding %.2f MiB to fit_params_target for device %s\n",
857856
bytes / (1024.0 * 1024.0), ggml_backend_dev_name(devs[j]));
858857
params_base.fit_params_target[i] += bytes;

tools/server/server.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include "fit.h"
1111
#include "llama.h"
1212
#include "log.h"
13+
#include "ui.h"
1314

1415
#include <atomic>
1516
#include <clocale>
@@ -79,6 +80,10 @@ int llama_server(int argc, char ** argv) {
7980

8081
// own arguments required by this example
8182
common_params params;
83+
#if defined(LLAMA_UI_HAS_ASSETS)
84+
params.ui = true;
85+
params.webui = true;
86+
#endif
8287

8388
common_init();
8489

0 commit comments

Comments
 (0)