|
@@ -1010,6 +1010,8 @@ static void dump_per_arch_model_xml(FILE *f, struct starpu_perfmodel *model, int
|
|
|
|
|
|
void starpu_perfmodel_dump_xml(FILE *f, struct starpu_perfmodel *model)
|
|
|
{
|
|
|
+ _starpu_init_and_load_perfmodel(model);
|
|
|
+
|
|
|
fprintf(f, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
|
|
|
fprintf(f, "<!DOCTYPE StarPUPerfmodel SYSTEM \"starpu-perfmodel.dtd\">\n");
|
|
|
fprintf(f, "<!-- symbol %s -->\n", model->symbol);
|
|
@@ -1496,6 +1498,8 @@ int starpu_perfmodel_load_file(const char *filename, struct starpu_perfmodel *mo
|
|
|
|
|
|
if (ret)
|
|
|
starpu_perfmodel_unload_model(model);
|
|
|
+ else
|
|
|
+ model->is_loaded = 1;
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -1611,7 +1615,7 @@ docal:
|
|
|
char archname[STR_SHORT_LENGTH];
|
|
|
|
|
|
starpu_perfmodel_get_arch_name(arch, archname, sizeof(archname), nimpl);
|
|
|
- _STARPU_DISP("Warning: model %s is not calibrated enough for %s size %lu (only %u measurements from size %lu to %lu), forcing calibration for this run. Use the STARPU_CALIBRATE environment variable to control this.\n", model->symbol, archname, (unsigned long) size, regmodel?regmodel->nsample:0, regmodel?regmodel->minx:0, regmodel?regmodel->maxx:0);
|
|
|
+ _STARPU_DISP("Warning: model %s is not calibrated enough for %s size %lu (only %u measurements from size %lu to %lu), forcing calibration for this run. Use the STARPU_CALIBRATE environment variable to control this. You probably need to run again to continue calibrating the model, until this warning disappears.\n", model->symbol, archname, (unsigned long) size, regmodel?regmodel->nsample:0, regmodel?regmodel->minx:0, regmodel?regmodel->maxx:0);
|
|
|
_starpu_set_calibrate_flag(1);
|
|
|
model->benchmarking = 1;
|
|
|
}
|
|
@@ -1664,7 +1668,7 @@ docal:
|
|
|
char archname[STR_SHORT_LENGTH];
|
|
|
|
|
|
starpu_perfmodel_get_arch_name(arch, archname, sizeof(archname), nimpl);
|
|
|
- _STARPU_DISP("Warning: model %s is not calibrated enough for %s size %lu (only %u measurements), forcing calibration for this run. Use the STARPU_CALIBRATE environment variable to control this.\n", model->symbol, archname, (unsigned long) size, entry && entry->history_entry ? entry->history_entry->nsample : 0);
|
|
|
+ _STARPU_DISP("Warning: model %s is not calibrated enough for %s size %lu (only %u measurements), forcing calibration for this run. Use the STARPU_CALIBRATE environment variable to control this. You probably need to run again to continue calibrating the model, until this warning disappears.\n", model->symbol, archname, (unsigned long) size, entry && entry->history_entry ? entry->history_entry->nsample : 0);
|
|
|
_starpu_set_calibrate_flag(1);
|
|
|
model->benchmarking = 1;
|
|
|
}
|
|
@@ -1711,7 +1715,7 @@ docal:
|
|
|
char archname[STR_SHORT_LENGTH];
|
|
|
|
|
|
starpu_perfmodel_get_arch_name(arch, archname, sizeof(archname), nimpl);
|
|
|
- _STARPU_DISP("Warning: model %s is not calibrated enough for %s, forcing calibration for this run. Use the STARPU_CALIBRATE environment variable to control this.\n", model->symbol, archname);
|
|
|
+ _STARPU_DISP("Warning: model %s is not calibrated enough for %s, forcing calibration for this run. Use the STARPU_CALIBRATE environment variable to control this. You probably need to run again to continue calibrating the model, until this warning disappears.\n", model->symbol, archname);
|
|
|
_starpu_set_calibrate_flag(1);
|
|
|
model->benchmarking = 1;
|
|
|
}
|
|
@@ -1794,7 +1798,7 @@ docal:
|
|
|
char archname[STR_SHORT_LENGTH];
|
|
|
|
|
|
starpu_perfmodel_get_arch_name(arch, archname, sizeof(archname), nimpl);
|
|
|
- _STARPU_DISP("Warning: model %s is not calibrated enough for %s size %ld footprint %x (only %u measurements), forcing calibration for this run. Use the STARPU_CALIBRATE environment variable to control this.\n", model->symbol, archname, j->task?(long int)_starpu_job_get_data_size(model, arch, nimpl, j):-1, key, entry ? entry->nsample : 0);
|
|
|
+ _STARPU_DISP("Warning: model %s is not calibrated enough for %s size %ld footprint %x (only %u measurements), forcing calibration for this run. Use the STARPU_CALIBRATE environment variable to control this. You probably need to run again to continue calibrating the model, until this warning disappears.\n", model->symbol, archname, j->task?(long int)_starpu_job_get_data_size(model, arch, nimpl, j):-1, key, entry ? entry->nsample : 0);
|
|
|
_starpu_set_calibrate_flag(1);
|
|
|
model->benchmarking = 1;
|
|
|
}
|