Skip to content

Commit 315f35f

Browse files
committed
ggml: update unit tests for the new vec_dot interface
1 parent eaf8461 commit 315f35f

File tree

4 files changed

+16
-6
lines changed

4 files changed

+16
-6
lines changed

pocs/vdot/q8dot.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,11 @@ int main(int argc, char** argv) {
156156

157157
t1 = std::chrono::high_resolution_clock::now();
158158
float fs;
159-
if (type == 0) funcs.vec_dot(kVecSize * QK4_1, &fs, x40.data(), y.data());
160-
else funcs.vec_dot(kVecSize * QK4_1, &fs, x41.data(), y.data());
159+
const void * x40_data_l[1] = {x40.data()};
160+
const void * x41_data_l[1] = {x41.data()};
161+
const void * y_data_l[1] = {y.data()};
162+
if (type == 0) funcs.vec_dot(kVecSize * QK4_1, &fs, x40_data_l, y_data_l, MAX_NUM_ROWS_COLS_DOT_PRODUCT);
163+
else funcs.vec_dot(kVecSize * QK4_1, &fs, x41_data_l, y_data_l, MAX_NUM_ROWS_COLS_DOT_PRODUCT);
161164
t2 = std::chrono::high_resolution_clock::now();
162165
t = 1e-3*std::chrono::duration_cast<std::chrono::nanoseconds>(t2-t1).count();
163166
if (iloop > 3) ggml.addResult(fs, t);

pocs/vdot/vdot.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,8 +285,11 @@ int main(int argc, char** argv) {
285285
else {
286286
auto vdot = ggml_internal_get_type_traits(funcs.vec_dot_type);
287287
vdot.from_float(y1.data(), q8.data(), kVecSize);
288-
if (useQ4_1) funcs.vec_dot(kVecSize, &result, q41.data(), q8.data());
289-
else funcs.vec_dot(kVecSize, &result, q40.data(), q8.data());
288+
const void * q40_data_l[1] = {q40.data()};
289+
const void * q41_data_l[1] = {q41.data()};
290+
const void * q8_data_l[1] = {q8.data()};
291+
if (useQ4_1) funcs.vec_dot(kVecSize, &result, q41_data_l, q8_data_l, MAX_NUM_ROWS_COLS_DOT_PRODUCT);
292+
else funcs.vec_dot(kVecSize, &result, q40_data_l, q8_data_l, MAX_NUM_ROWS_COLS_DOT_PRODUCT);
290293
}
291294
sumq += result;
292295
t2 = std::chrono::high_resolution_clock::now();

tests/test-quantize-fns.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,9 @@ static float dot_product_error(
8585
vdot.from_float(test_data2, tmp_q2.data(), test_size);
8686

8787
float result = INFINITY;
88-
qfns.vec_dot(test_size, &result, tmp_q1.data(), tmp_q2.data());
88+
const void * tmp_q1_data_l[1] = {tmp_q1.data()};
89+
const void * tmp_q2_data_l[1] = {tmp_q2.data()};
90+
qfns.vec_dot(test_size, &result, tmp_q1_data_l, tmp_q2_data_l, MAX_NUM_ROWS_COLS_DOT_PRODUCT);
8991

9092
const float dot_ref = dot_product(test_data1, test_data2, test_size);
9193

tests/test-quantize-perf.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,9 @@ int main(int argc, char * argv[]) {
344344
printf(" %zu values (%.2f MB)\n", size, 4*size/(float)(1024*1024));
345345
auto quantize_fn = [&](void) -> float {
346346
float result;
347-
qfns.vec_dot(size, &result, test_q1, test_q2);
347+
const void * test_q1_l[1] = {test_q1};
348+
const void * test_q2_l[1] = {test_q2};
349+
qfns.vec_dot(size, &result, test_q1_l, test_q2_l, MAX_NUM_ROWS_COLS_DOT_PRODUCT);
348350
return result;
349351
};
350352
size_t quantized_size = ggml_row_size(type, size);

0 commit comments

Comments
 (0)