mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-25 02:44:36 +00:00
llama : set metal log callback correctly (#4204)
This commit is contained in:
parent
8a052c131e
commit
e9c13ff781
11
llama.cpp
11
llama.cpp
@ -1118,6 +1118,12 @@ static std::string llama_token_to_piece(const struct llama_context * ctx, llama_
|
|||||||
//
|
//
|
||||||
|
|
||||||
struct llama_state {
|
struct llama_state {
|
||||||
|
llama_state() {
|
||||||
|
#ifdef GGML_USE_METAL
|
||||||
|
ggml_metal_log_set_callback(log_callback, log_callback_user_data);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
// We save the log callback globally
|
// We save the log callback globally
|
||||||
ggml_log_callback log_callback = llama_log_callback_default;
|
ggml_log_callback log_callback = llama_log_callback_default;
|
||||||
void * log_callback_user_data = nullptr;
|
void * log_callback_user_data = nullptr;
|
||||||
@ -8569,8 +8575,6 @@ struct llama_context * llama_new_context_with_model(
|
|||||||
|
|
||||||
#ifdef GGML_USE_METAL
|
#ifdef GGML_USE_METAL
|
||||||
if (model->n_gpu_layers > 0) {
|
if (model->n_gpu_layers > 0) {
|
||||||
ggml_metal_log_set_callback(llama_log_callback_default, NULL);
|
|
||||||
|
|
||||||
ctx->ctx_metal = ggml_metal_init(1);
|
ctx->ctx_metal = ggml_metal_init(1);
|
||||||
if (!ctx->ctx_metal) {
|
if (!ctx->ctx_metal) {
|
||||||
LLAMA_LOG_ERROR("%s: ggml_metal_init() failed\n", __func__);
|
LLAMA_LOG_ERROR("%s: ggml_metal_init() failed\n", __func__);
|
||||||
@ -9706,6 +9710,9 @@ const std::vector<std::pair<std::string, struct ggml_tensor *>> & llama_internal
|
|||||||
void llama_log_set(ggml_log_callback log_callback, void * user_data) {
|
void llama_log_set(ggml_log_callback log_callback, void * user_data) {
|
||||||
g_state.log_callback = log_callback ? log_callback : llama_log_callback_default;
|
g_state.log_callback = log_callback ? log_callback : llama_log_callback_default;
|
||||||
g_state.log_callback_user_data = user_data;
|
g_state.log_callback_user_data = user_data;
|
||||||
|
#ifdef GGML_USE_METAL
|
||||||
|
ggml_metal_log_set_callback(g_state.log_callback, g_state.log_callback_user_data);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void llama_log_internal_v(ggml_log_level level, const char * format, va_list args) {
|
static void llama_log_internal_v(ggml_log_level level, const char * format, va_list args) {
|
||||||
|
Loading…
Reference in New Issue
Block a user