From d2d1848ffe315c4fdc13a864602d461cb0026c77 Mon Sep 17 00:00:00 2001 From: Bartosz Kostrzewa Date: Fri, 19 Jul 2024 20:48:50 +0200 Subject: [PATCH] more tuning params that can go negative but shouldn't --- quda_interface.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/quda_interface.c b/quda_interface.c index a5b73f99c..e43451d01 100644 --- a/quda_interface.c +++ b/quda_interface.c @@ -2710,7 +2710,9 @@ void update_tunable_params(tm_QudaMGTunableParams_t * tunable_params, switch(tuning_dir){ case TM_MG_TUNE_MU_FACTOR: { - tunable_params->mg_mu_factor[lvl] += tuning_plan->mg_mu_factor_delta[lvl]; + if( tunable_params->mg_mu_factor[lvl] + tuning_plan->mg_mu_factor_delta[lvl] > 0){ + tunable_params->mg_mu_factor[lvl] += tuning_plan->mg_mu_factor_delta[lvl]; + } break; } case TM_MG_TUNE_COARSE_SOLVER_MAXITER: @@ -2722,7 +2724,9 @@ void update_tunable_params(tm_QudaMGTunableParams_t * tunable_params, } case TM_MG_TUNE_COARSE_SOLVER_TOL: { - tunable_params->mg_coarse_solver_tol[lvl] += tuning_plan->mg_coarse_solver_tol_delta[lvl]; + if( tunable_params->mg_coarse_solver_tol[lvl] + tuning_plan->mg_coarse_solver_tol_delta[lvl] > 0 ){ + tunable_params->mg_coarse_solver_tol[lvl] += tuning_plan->mg_coarse_solver_tol_delta[lvl]; + } break; } case TM_MG_TUNE_NU_PRE: @@ -2741,12 +2745,16 @@ void update_tunable_params(tm_QudaMGTunableParams_t * tunable_params, } case TM_MG_TUNE_SMOOTHER_TOL: { - tunable_params->mg_smoother_tol[lvl] += tuning_plan->mg_smoother_tol_delta[lvl]; + if( tunable_params->mg_smoother_tol[lvl] + tuning_plan->mg_smoother_tol_delta[lvl] > 0 ){ + tunable_params->mg_smoother_tol[lvl] += tuning_plan->mg_smoother_tol_delta[lvl]; + } break; } case TM_MG_TUNE_OMEGA: { - tunable_params->mg_omega[lvl] += tuning_plan->mg_omega_delta[lvl]; + if( tunable_params->mg_omega[lvl] + tuning_plan->mg_omega_delta[lvl] > 0){ + tunable_params->mg_omega[lvl] += tuning_plan->mg_omega_delta[lvl]; + } break; } case TM_MG_TUNE_INVALID: