Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit dc46993

Browse files
authored
feat: increase work_ctx memory buffer size (#814)
1 parent a6a8569 commit dc46993

File tree

5 files changed

+7
-21
lines changed

5 files changed

+7
-21
lines changed

conditioner.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ struct FrozenCLIPEmbedderWithCustomWords : public Conditioner {
115115
return true;
116116
}
117117
struct ggml_init_params params;
118-
params.mem_size = 10 * 1024 * 1024; // max for custom embeddings 10 MB
118+
params.mem_size = 100 * 1024 * 1024; // max for custom embeddings 100 MB
119119
params.mem_buffer = NULL;
120120
params.no_alloc = false;
121121
struct ggml_context* embd_ctx = ggml_init(params);

preprocessing.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ void threshold_hystersis(struct ggml_tensor* img, float high_threshold, float lo
164164

165165
uint8_t* preprocess_canny(uint8_t* img, int width, int height, float high_threshold, float low_threshold, float weak, float strong, bool inverse) {
166166
struct ggml_init_params params;
167-
params.mem_size = static_cast<size_t>(10 * 1024 * 1024); // 10
167+
params.mem_size = static_cast<size_t>(10 * 1024 * 1024); // 10MB
168168
params.mem_buffer = NULL;
169169
params.no_alloc = false;
170170
struct ggml_context* work_ctx = ggml_init(params);

stable-diffusion.cpp

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2196,19 +2196,7 @@ sd_image_t* generate_image(sd_ctx_t* sd_ctx, const sd_img_gen_params_t* sd_img_g
21962196
}
21972197

21982198
struct ggml_init_params params;
2199-
params.mem_size = static_cast<size_t>(10 * 1024 * 1024); // 10 MB
2200-
if (sd_version_is_sd3(sd_ctx->sd->version)) {
2201-
params.mem_size *= 3;
2202-
}
2203-
if (sd_version_is_flux(sd_ctx->sd->version)) {
2204-
params.mem_size *= 4;
2205-
}
2206-
if (sd_ctx->sd->stacked_id) {
2207-
params.mem_size += static_cast<size_t>(10 * 1024 * 1024); // 10 MB
2208-
}
2209-
params.mem_size += width * height * 3 * sizeof(float) * 3;
2210-
params.mem_size += width * height * 3 * sizeof(float) * 3 * sd_img_gen_params->ref_images_count;
2211-
params.mem_size *= sd_img_gen_params->batch_count;
2199+
params.mem_size = static_cast<size_t>(1024 * 1024) * 1024; // 1G
22122200
params.mem_buffer = NULL;
22132201
params.no_alloc = false;
22142202
// LOG_DEBUG("mem_size %u ", params.mem_size);
@@ -2448,8 +2436,7 @@ SD_API sd_image_t* generate_video(sd_ctx_t* sd_ctx, const sd_vid_gen_params_t* s
24482436
}
24492437

24502438
struct ggml_init_params params;
2451-
params.mem_size = static_cast<size_t>(200 * 1024) * 1024; // 200 MB
2452-
params.mem_size += width * height * frames * 3 * sizeof(float) * 2;
2439+
params.mem_size = static_cast<size_t>(1024 * 1024) * 1024; // 1GB
24532440
params.mem_buffer = NULL;
24542441
params.no_alloc = false;
24552442
// LOG_DEBUG("mem_size %u ", params.mem_size);

upscaler.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ struct UpscalerGGML {
6969
input_image.width, input_image.height, output_width, output_height);
7070

7171
struct ggml_init_params params;
72-
params.mem_size = output_width * output_height * 3 * sizeof(float) * 2;
73-
params.mem_size += 2 * ggml_tensor_overhead();
72+
params.mem_size = static_cast<size_t>(1024 * 1024) * 1024; // 1G
7473
params.mem_buffer = NULL;
7574
params.no_alloc = false;
7675

@@ -80,7 +79,7 @@ struct UpscalerGGML {
8079
LOG_ERROR("ggml_init() failed");
8180
return upscaled_image;
8281
}
83-
LOG_DEBUG("upscale work buffer size: %.2f MB", params.mem_size / 1024.f / 1024.f);
82+
// LOG_DEBUG("upscale work buffer size: %.2f MB", params.mem_size / 1024.f / 1024.f);
8483
ggml_tensor* input_image_tensor = ggml_new_tensor_4d(upscale_ctx, GGML_TYPE_F32, input_image.width, input_image.height, 3, 1);
8584
sd_image_to_tensor(input_image.data, input_image_tensor);
8685

wan.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1219,7 +1219,7 @@ namespace WAN {
12191219

12201220
void test() {
12211221
struct ggml_init_params params;
1222-
params.mem_size = static_cast<size_t>(1000 * 1024 * 1024); // 10 MB
1222+
params.mem_size = static_cast<size_t>(1024 * 1024) * 1024; // 1G
12231223
params.mem_buffer = NULL;
12241224
params.no_alloc = false;
12251225

0 commit comments

Comments
 (0)