ggml: fix ggml_is_contiguous_n for ne == 1 (#20092)

This commit is contained in:
Johannes Gäßler
2026-03-04 12:04:31 +01:00
committed by GitHub
parent 66199c9f03
commit 7f5ee54968
+7 -9
View File
@@ -1410,16 +1410,14 @@ static bool ggml_is_contiguous_n(const struct ggml_tensor * tensor, int n) {
} }
next_nb *= tensor->ne[0]/ggml_blck_size(tensor->type); next_nb *= tensor->ne[0]/ggml_blck_size(tensor->type);
for (int i = 1; i < GGML_MAX_DIMS; i++) { for (int i = 1; i < GGML_MAX_DIMS; i++) {
if (tensor->ne[i] != 1) { if (i > n) {
if (i > n) { if (tensor->ne[i] != 1 && tensor->nb[i] != next_nb) {
if (tensor->nb[i] != next_nb) { return false;
return false;
}
next_nb *= tensor->ne[i];
} else {
// this dimension does not need to be contiguous
next_nb = tensor->ne[i]*tensor->nb[i];
} }
next_nb *= tensor->ne[i];
} else {
// this dimension does not need to be contiguous
next_nb = tensor->ne[i]*tensor->nb[i];
} }
} }
return true; return true;