Ensure conv graph measurement never undermeasures memory with dynamic audio ctx

This commit is contained in:
Aleksandras Kostarevas 2024-03-30 18:45:54 -05:00
parent 14fa302f1f
commit 5ecdafd60b

View File

@ -1738,7 +1738,7 @@ static struct ggml_cgraph * whisper_build_graph_conv(
// convolution + gelu
{
cur = ggml_conv_1d_ph(ctx0, model.e_conv_1_w, mel, 1, 1);
if (n_ctx == hparams.n_audio_ctx) {
if (!ggml_allocr_is_measure(alloc) && n_ctx == hparams.n_audio_ctx) {
cur = ggml_add(ctx0, cur, model.e_conv_1_b);
} else {
cur = ggml_add(ctx0, cur, ggml_cont(ctx0, ggml_view_2d(ctx0, model.e_conv_1_b, cur->ne[0], cur->ne[1], model.e_conv_1_b->nb[1], 0)));
@ -1747,7 +1747,7 @@ static struct ggml_cgraph * whisper_build_graph_conv(
cur = ggml_gelu(ctx0, cur);
cur = ggml_conv_1d_ph(ctx0, model.e_conv_2_w, cur, 2, 1);
if (n_ctx == hparams.n_audio_ctx) {
if (!ggml_allocr_is_measure(alloc) && n_ctx == hparams.n_audio_ctx) {
cur = ggml_add(ctx0, cur, model.e_conv_2_b);
} else {
cur = ggml_add(ctx0, cur, ggml_cont(ctx0, ggml_view_2d(ctx0, model.e_conv_2_b, cur->ne[0], cur->ne[1], model.e_conv_2_b->nb[1], 0)));