Преглед на файлове

Do not compute regression before we have a valid range of x values

Samuel Thibault преди 12 години
родител
ревизия
e33438271e
променени са 1 файла, в които са добавени 8 реда и са изтрити 7 реда
  1. 8 7
      src/core/perfmodel/perfmodel_history.c

+ 8 - 7
src/core/perfmodel/perfmodel_history.c

@@ -1223,16 +1223,17 @@ void _starpu_update_perfmodel_history(struct _starpu_job *j, struct starpu_perfm
 				reg_model->maxx = job_size;
 			reg_model->nsample++;
 
-			unsigned n = reg_model->nsample;
-
-			double num = (n*reg_model->sumlnxlny - reg_model->sumlnx*reg_model->sumlny);
-			double denom = (n*reg_model->sumlnx2 - reg_model->sumlnx*reg_model->sumlnx);
+			if (VALID_REGRESSION(reg_model))
+			{
+				unsigned n = reg_model->nsample;
 
-			reg_model->beta = num/denom;
-			reg_model->alpha = exp((reg_model->sumlny - reg_model->beta*reg_model->sumlnx)/n);
+				double num = (n*reg_model->sumlnxlny - reg_model->sumlnx*reg_model->sumlny);
+				double denom = (n*reg_model->sumlnx2 - reg_model->sumlnx*reg_model->sumlnx);
 
-			if (VALID_REGRESSION(reg_model))
+				reg_model->beta = num/denom;
+				reg_model->alpha = exp((reg_model->sumlny - reg_model->beta*reg_model->sumlnx)/n);
 				reg_model->valid = 1;
+			}
 		}
 
 #ifdef STARPU_MODEL_DEBUG