@@ -1981,7 +1981,7 @@ struct test_mul_mat : public test_case {
1981
1981
const std::array<int64_t , 2 > bs; // dims 3 and 4
1982
1982
const std::array<int64_t , 2 > nr; // repeat in dims 3 and 4
1983
1983
const std::array<int64_t , 4 > per; // permutation of dimensions
1984
- const bool v; // whether a is a non-contiguous view
1984
+ const bool v; // whether a and b are non-contiguous views
1985
1985
1986
1986
std::string vars () override {
1987
1987
return VARS_TO_STR9 (type_a, type_b, m, n, k, bs, nr, per, v);
@@ -2042,12 +2042,15 @@ struct test_mul_mat : public test_case {
2042
2042
} else {
2043
2043
2044
2044
if (v) {
2045
- a = ggml_new_tensor_4d (ctx, type_a, k*2 , m, bs[0 ], bs[1 ]);
2046
- a = ggml_view_4d (ctx, a, k, m, bs[0 ], bs[1 ], a->nb [1 ], a->nb [2 ], a->nb [3 ], 0 );
2045
+ a = ggml_new_tensor_4d (ctx, type_a, k*2 , m, bs[0 ], bs[1 ]);
2046
+ b = ggml_new_tensor_4d (ctx, type_b, k*2 , n, bs[0 ]*nr[0 ], bs[1 ]*nr[1 ]);
2047
+
2048
+ a = ggml_view_4d (ctx, a, k, m, bs[0 ], bs[1 ], a->nb [1 ], a->nb [2 ], a->nb [3 ], 0 );
2049
+ b = ggml_view_4d (ctx, b, k, n, bs[0 ]*nr[0 ], bs[1 ]*nr[1 ], b->nb [1 ], b->nb [2 ], b->nb [3 ], 0 );
2047
2050
} else {
2048
2051
a = ggml_new_tensor_4d (ctx, type_a, k, m, bs[0 ], bs[1 ]);
2052
+ b = ggml_new_tensor_4d (ctx, type_b, k, n, bs[0 ]*nr[0 ], bs[1 ]*nr[1 ]);
2049
2053
}
2050
- b = ggml_new_tensor_4d (ctx, type_b, k, n, bs[0 ]*nr[0 ], bs[1 ]*nr[1 ]);
2051
2054
if (!ggml_is_quantized (type_a)) {
2052
2055
if (bs[1 ] == 1 && nr[1 ] == 1 ) {
2053
2056
ggml_set_param (ctx, a);
0 commit comments