From fe53642cb26f08f0c3fe92017f023b3e8b701d4f Mon Sep 17 00:00:00 2001 From: Hiroshi Shinaoka Date: Sat, 15 Nov 2025 20:31:27 +0900 Subject: [PATCH] Use SPIR_TWORK_AUTO for automatic precision selection in benchmark - Change from SPIR_TWORK_FLOAT64X2 to SPIR_TWORK_AUTO - Automatically selects FLOAT64 for epsilon >= 1e-8, FLOAT64X2 for epsilon < 1e-8 - Improves performance by avoiding unnecessary extended precision overhead - Better matches actual usage patterns where precision is selected based on epsilon --- capi_benchmark/benchmark1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/capi_benchmark/benchmark1.c b/capi_benchmark/benchmark1.c index 88b510c4..1ac9eb61 100644 --- a/capi_benchmark/benchmark1.c +++ b/capi_benchmark/benchmark1.c @@ -54,7 +54,7 @@ int benchmark(double beta, double omega_max, double epsilon, int extra_size, int // Create a pre-computed SVE result int lmax = -1; int n_gauss = -1; - int Twork = SPIR_TWORK_FLOAT64X2; + int Twork = SPIR_TWORK_AUTO; // Auto-select: FLOAT64 for epsilon >= 1e-8, FLOAT64X2 for epsilon < 1e-8 benchmark_start(&bench, "SVE computation"); spir_sve_result *sve_logistic = spir_sve_result_new( kernel, epsilon, lmax, n_gauss, Twork, &status);