Skip to content

Commit 9de447d

Browse files
authored
ggml-cpu : fix padding in ggml_timestep_embedding (#15917)
This commit fixes the zero padding for odd dimensions in ggml_compute_forward_timestep_embedding_f32. The motivation for this is that currently if an odd dimension is used, the padding check incorrectly uses the dimension value for indexing. For example, with dim=15: Elements 0-6 are set to cosine values Elements 7-13 are set to sine values Element 14 is left uninitialized (contains garbage) Element 15 is correctly set to zero This fix changes embed_data[dim] to embed_data[2 * half] so that element 14 (the first unused element) is properly set to zero as well as the last element. Resolves: ggml-org/ggml#1324
1 parent 0f0a3c2 commit 9de447d

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

ggml/src/ggml-cpu/ops.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8598,6 +8598,7 @@ static void ggml_compute_forward_timestep_embedding_f32(
85988598
embed_data[j + half] = sinf(arg);
85998599
}
86008600
if (dim % 2 != 0 && ith == 0) {
8601+
embed_data[2 * half] = 0.f;
86018602
embed_data[dim] = 0.f;
86028603
}
86038604
}

0 commit comments

Comments
 (0)