MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / llama_model_load

Function llama_model_load

llama.cpp:4220–4271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4218}
4219
4220static bool llama_model_load(const std::string & fname, llama_model & model, const llama_model_params & params, const llama_context_params * cparams) {
4221 try {
4222 llama_model_loader ml(fname, params.use_mmap);
4223
4224 if (ml.sparse_deriv == GGML_SPARSE_INFERENCE) {
4225 LLAMA_LOG_INFO("%s: PowerInfer model loaded. Sparse inference will be used.\n", __func__);
4226 }
4227
4228 model.hparams.vocab_only = params.vocab_only;
4229 model.sparse_deriv = ml.sparse_deriv;
4230
4231 llm_load_arch (ml, model);
4232 llm_load_hparams(ml, model);
4233 llm_load_vocab (ml, model);
4234
4235 llm_load_print_meta(ml, model);
4236
4237 if (model.hparams.n_vocab != model.vocab.id_to_token.size()) {
4238 throw std::runtime_error("vocab size mismatch");
4239 }
4240
4241 if (params.vocab_only) {
4242 LLAMA_LOG_INFO("%s: vocab only - skipping tensors\n", __func__);
4243 return true;
4244 }
4245
4246 if (llama_use_sparse_inference(&model)) {
4247 if (params.n_gpu_layers > 0) {
4248 LLAMA_LOG_WARN("%s: sparse inference ignores n_gpu_layers, you can use --vram-budget option instead\n", __func__);
4249 return false;
4250 }
4251#if defined GGML_USE_CUBLAS
4252 llama_set_vram_budget(params.vram_budget_gb, params.main_gpu);
4253#endif
4254 llm_load_sparse_model_tensors(
4255 ml, model, cparams, params.main_gpu, vram_budget_bytes, params.reset_gpu_index, params.disable_gpu_index,
4256 params.use_mlock, params.progress_callback, params.progress_callback_user_data
4257 );
4258 } else {
4259 llm_load_tensors(
4260 ml, model, params.n_gpu_layers, params.main_gpu, params.tensor_split, params.use_mlock,
4261 params.progress_callback, params.progress_callback_user_data
4262 );
4263 }
4264
4265 } catch (const std::exception & err) {
4266 LLAMA_LOG_ERROR("error loading model: %s\n", err.what());
4267 return false;
4268 }
4269
4270 return true;
4271}
4272
4273//
4274// llm_build

Calls 10

llm_load_archFunction · 0.85
llm_load_hparamsFunction · 0.85
llm_load_vocabFunction · 0.85
llm_load_print_metaFunction · 0.85
llama_set_vram_budgetFunction · 0.85
llm_load_tensorsFunction · 0.85
sizeMethod · 0.45
whatMethod · 0.45

Tested by

no test coverage detected