mirror of
https://github.com/leejet/stable-diffusion.cpp.git
synced 2025-12-13 05:48:56 +00:00
feat: use log_printf to print ggml logs (#545)
This commit is contained in:
parent
b017918106
commit
87cdbd5978
@ -56,6 +56,25 @@
|
|||||||
#define __STATIC_INLINE__ static inline
|
#define __STATIC_INLINE__ static inline
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
__STATIC_INLINE__ void ggml_log_callback_default(ggml_log_level level, const char* text, void*) {
|
||||||
|
switch (level) {
|
||||||
|
case GGML_LOG_LEVEL_DEBUG:
|
||||||
|
LOG_DEBUG(text);
|
||||||
|
break;
|
||||||
|
case GGML_LOG_LEVEL_INFO:
|
||||||
|
LOG_INFO(text);
|
||||||
|
break;
|
||||||
|
case GGML_LOG_LEVEL_WARN:
|
||||||
|
LOG_WARN(text);
|
||||||
|
break;
|
||||||
|
case GGML_LOG_LEVEL_ERROR:
|
||||||
|
LOG_ERROR(text);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LOG_DEBUG(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static_assert(GGML_MAX_NAME >= 128, "GGML_MAX_NAME must be at least 128");
|
static_assert(GGML_MAX_NAME >= 128, "GGML_MAX_NAME must be at least 128");
|
||||||
|
|
||||||
// n-mode trensor-matrix product
|
// n-mode trensor-matrix product
|
||||||
@ -124,13 +143,6 @@ __STATIC_INLINE__ struct ggml_tensor* ggml_kronecker(ggml_context* ctx, struct g
|
|||||||
b);
|
b);
|
||||||
}
|
}
|
||||||
|
|
||||||
__STATIC_INLINE__ void ggml_log_callback_default(ggml_log_level level, const char* text, void* user_data) {
|
|
||||||
(void)level;
|
|
||||||
(void)user_data;
|
|
||||||
fputs(text, stderr);
|
|
||||||
fflush(stderr);
|
|
||||||
}
|
|
||||||
|
|
||||||
__STATIC_INLINE__ void ggml_tensor_set_f32_randn(struct ggml_tensor* tensor, std::shared_ptr<RNG> rng) {
|
__STATIC_INLINE__ void ggml_tensor_set_f32_randn(struct ggml_tensor* tensor, std::shared_ptr<RNG> rng) {
|
||||||
uint32_t n = (uint32_t)ggml_nelements(tensor);
|
uint32_t n = (uint32_t)ggml_nelements(tensor);
|
||||||
std::vector<float> random_numbers = rng->randn(n);
|
std::vector<float> random_numbers = rng->randn(n);
|
||||||
|
|||||||
@ -145,7 +145,6 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
#ifdef SD_USE_METAL
|
#ifdef SD_USE_METAL
|
||||||
LOG_DEBUG("Using Metal backend");
|
LOG_DEBUG("Using Metal backend");
|
||||||
ggml_log_set(ggml_log_callback_default, nullptr);
|
|
||||||
backend = ggml_backend_metal_init();
|
backend = ggml_backend_metal_init();
|
||||||
#endif
|
#endif
|
||||||
#ifdef SD_USE_VULKAN
|
#ifdef SD_USE_VULKAN
|
||||||
@ -192,6 +191,8 @@ public:
|
|||||||
rng = std::make_shared<PhiloxRNG>();
|
rng = std::make_shared<PhiloxRNG>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ggml_log_set(ggml_log_callback_default, nullptr);
|
||||||
|
|
||||||
init_backend();
|
init_backend();
|
||||||
|
|
||||||
ModelLoader model_loader;
|
ModelLoader model_loader;
|
||||||
|
|||||||
@ -19,13 +19,13 @@ struct UpscalerGGML {
|
|||||||
|
|
||||||
bool load_from_file(const std::string& esrgan_path,
|
bool load_from_file(const std::string& esrgan_path,
|
||||||
bool offload_params_to_cpu) {
|
bool offload_params_to_cpu) {
|
||||||
|
ggml_log_set(ggml_log_callback_default, nullptr);
|
||||||
#ifdef SD_USE_CUDA
|
#ifdef SD_USE_CUDA
|
||||||
LOG_DEBUG("Using CUDA backend");
|
LOG_DEBUG("Using CUDA backend");
|
||||||
backend = ggml_backend_cuda_init(0);
|
backend = ggml_backend_cuda_init(0);
|
||||||
#endif
|
#endif
|
||||||
#ifdef SD_USE_METAL
|
#ifdef SD_USE_METAL
|
||||||
LOG_DEBUG("Using Metal backend");
|
LOG_DEBUG("Using Metal backend");
|
||||||
ggml_log_set(ggml_log_callback_default, nullptr);
|
|
||||||
backend = ggml_backend_metal_init();
|
backend = ggml_backend_metal_init();
|
||||||
#endif
|
#endif
|
||||||
#ifdef SD_USE_VULKAN
|
#ifdef SD_USE_VULKAN
|
||||||
|
|||||||
5
util.cpp
5
util.cpp
@ -414,7 +414,10 @@ void log_printf(sd_log_level_t level, const char* file, int line, const char* fo
|
|||||||
if (written >= 0 && written < LOG_BUFFER_SIZE) {
|
if (written >= 0 && written < LOG_BUFFER_SIZE) {
|
||||||
vsnprintf(log_buffer + written, LOG_BUFFER_SIZE - written, format, args);
|
vsnprintf(log_buffer + written, LOG_BUFFER_SIZE - written, format, args);
|
||||||
}
|
}
|
||||||
strncat(log_buffer, "\n", LOG_BUFFER_SIZE - strlen(log_buffer));
|
size_t len = strlen(log_buffer);
|
||||||
|
if (log_buffer[len - 1] != '\n') {
|
||||||
|
strncat(log_buffer, "\n", LOG_BUFFER_SIZE - len);
|
||||||
|
}
|
||||||
|
|
||||||
if (sd_log_cb) {
|
if (sd_log_cb) {
|
||||||
sd_log_cb(level, log_buffer, sd_log_cb_data);
|
sd_log_cb(level, log_buffer, sd_log_cb_data);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user