Trigger only on supported HW

This commit is contained in:
Rohan 2025-09-24 19:38:04 +00:00
parent 072f3d858a
commit e592bb06a2
1 changed files with 6 additions and 0 deletions

View File

@ -179,12 +179,18 @@ int main(int argc, char * argv[]) {
// Test i8mm path (nrc=2) for supported types // Test i8mm path (nrc=2) for supported types
if (type == GGML_TYPE_Q4_0 || type == GGML_TYPE_Q4_1 || type == GGML_TYPE_Q8_0 || if (type == GGML_TYPE_Q4_0 || type == GGML_TYPE_Q4_1 || type == GGML_TYPE_Q8_0 ||
type == GGML_TYPE_Q4_K || type == GGML_TYPE_Q6_K) { type == GGML_TYPE_Q4_K || type == GGML_TYPE_Q6_K) {
#if defined(__ARM_FEATURE_MATMUL_INT8)
const float vec_dot_error_i8mm = dot_product_error(qfns, qfns_cpu, test_size, test_data.data(), test_data2.data(), 2); const float vec_dot_error_i8mm = dot_product_error(qfns, qfns_cpu, test_size, test_data.data(), test_data2.data(), 2);
failed = !(vec_dot_error_i8mm < max_allowed_error); failed = !(vec_dot_error_i8mm < max_allowed_error);
num_failed += failed; num_failed += failed;
if (failed || verbose) { if (failed || verbose) {
printf("%5s dot product error (i8mm): %s (%f)\n", ggml_type_name(type), RESULT_STR[failed], vec_dot_error_i8mm); printf("%5s dot product error (i8mm): %s (%f)\n", ggml_type_name(type), RESULT_STR[failed], vec_dot_error_i8mm);
} }
#else
if (verbose) {
printf("%5s dot product (i8mm): SKIPPED (not supported)\n", ggml_type_name(type));
}
#endif
} }
} }
} }