|
@@ -35,8 +35,7 @@
|
|
#include <windows.h>
|
|
#include <windows.h>
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-
|
|
+#define HISTORYMAXERROR (STARPU_HISTORYMAXERROR > 100 ? 10 : STARPU_HISTORYMAXERROR)
|
|
-#define HISTORYMAXERROR 0.1
|
|
|
|
#define HASH_ADD_UINT32_T(head,field,add) HASH_ADD(hh,head,field,sizeof(uint32_t),add)
|
|
#define HASH_ADD_UINT32_T(head,field,add) HASH_ADD(hh,head,field,sizeof(uint32_t),add)
|
|
#define HASH_FIND_UINT32_T(head,find,out) HASH_FIND(hh,head,find,sizeof(uint32_t),out)
|
|
#define HASH_FIND_UINT32_T(head,find,out) HASH_FIND(hh,head,find,sizeof(uint32_t),out)
|
|
|
|
|
|
@@ -1319,14 +1318,15 @@ void _starpu_update_perfmodel_history(struct _starpu_job *j, struct starpu_perfm
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
-
|
|
+
|
|
|
|
|
|
-
|
|
+ double local_deviation = (measured/entry->mean)*100;
|
|
- if (entry->nsample && (measured/entry->mean < (1 - HISTORYMAXERROR) || measured/entry->mean > (1 + HISTORYMAXERROR)))
|
|
+
|
|
|
|
+ if (entry->nsample && (local_deviation < (100 - HISTORYMAXERROR) || local_deviation > (100 + HISTORYMAXERROR)))
|
|
{
|
|
{
|
|
entry->nerror++;
|
|
entry->nerror++;
|
|
|
|
|
|
-
|
|
+
|
|
if (entry->nerror >= entry->nsample)
|
|
if (entry->nerror >= entry->nsample)
|
|
{
|
|
{
|
|
entry->sum = 0.0;
|
|
entry->sum = 0.0;
|