diff --git a/include/llama.h b/include/llama.h index 453190e852b51..0095b2bcc7f33 100644 --- a/include/llama.h +++ b/include/llama.h @@ -481,6 +481,7 @@ extern "C" { LLAMA_API int32_t llama_model_n_ctx_train(const struct llama_model * model); LLAMA_API int32_t llama_model_n_embd (const struct llama_model * model); LLAMA_API int32_t llama_model_n_layer (const struct llama_model * model); + LLAMA_API int32_t llama_model_dev_layer (const struct llama_model * model, int32_t il); LLAMA_API int32_t llama_model_n_head (const struct llama_model * model); LLAMA_API int32_t llama_model_n_head_kv (const struct llama_model * model); LLAMA_API int32_t llama_model_n_swa (const struct llama_model * model); diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 1813f06d7b308..cb480592ddacb 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -19192,6 +19192,11 @@ int32_t llama_model_n_layer(const llama_model * model) { return model->hparams.n_layer; } +int32_t llama_model_dev_layer(const llama_model * model, int32_t il) { + ggml_backend_dev_t dev = model->dev_layer(il); + return static_cast(ggml_backend_dev_type(dev)); +} + int32_t llama_model_n_head(const llama_model * model) { return model->hparams.n_head(); }