diff --git a/tools/server/server-models.cpp b/tools/server/server-models.cpp index 633b233a7c..1fc07e829c 100644 --- a/tools/server/server-models.cpp +++ b/tools/server/server-models.cpp @@ -935,7 +935,6 @@ int server_models::can_fit(const buft_memory_map & bmm_req) const { bmm_total[buft] += mem; } } - lru_model_name = sched->pick_victim(lk, ""); } auto get = [](const buft_memory_map & dmm, ggml_backend_buffer_type_t buft) -> size_t { @@ -1032,18 +1031,15 @@ buft_memory_map server_models::estimate_model_memory(const std::string & name) { SRV_INF("estimating memory for model name=%s\n", name.c_str()); - std::vector argv = to_char_ptr_array(child_args); - std::vector envp = to_char_ptr_array(child_env); - - subprocess_s proc; + common_subproc proc; int options = subprocess_option_no_window | subprocess_option_combined_stdout_stderr; - if (subprocess_create_ex(argv.data(), options, envp.data(), &proc) != 0) { + if (!proc.create(child_args, options, child_env)) { SRV_ERR("failed to spawn measure process for model name=%s\n", name.c_str()); return {}; } buft_memory_map result; - FILE * out = subprocess_stdout(&proc); + FILE * out = proc.stdout_file(); if (out) { char buffer[4096]; while (fgets(buffer, sizeof(buffer), out) != nullptr) { @@ -1066,9 +1062,7 @@ buft_memory_map server_models::estimate_model_memory(const std::string & name) { } } - int exit_code = 0; - subprocess_join(&proc, &exit_code); - subprocess_destroy(&proc); + int exit_code = proc.join(); if (exit_code != 0) { SRV_ERR("measure process for model name=%s exited with code %d\n", name.c_str(), exit_code); diff --git a/tools/server/server.cpp b/tools/server/server.cpp index b03e4d2686..0a4ca3f7b0 100644 --- a/tools/server/server.cpp +++ b/tools/server/server.cpp @@ -173,8 +173,7 @@ int llama_server(common_params & params, int argc, char ** argv) { if (params.measure_only) { llama_model_params mparams = common_model_params_to_llama(params); mparams.no_alloc = true; - mparams.use_mmap = false; - mparams.use_mlock = false; + mparams.load_mode = LLAMA_LOAD_MODE_NONE; llama_model_ptr model{llama_model_load_from_file(params.model.path.c_str(), mparams)}; if (!model) {