diff --git a/checkin_notes b/checkin_notes index 5b13811dc1..86d67d005e 100644 --- a/checkin_notes +++ b/checkin_notes @@ -3266,3 +3266,12 @@ David 3 Jun 2011 client/ client_state.cpp cs_scheduler.cpp + +David 3 Jun 2011 + - scheduler: app version FLOPS estimates were wrong + in the case where we don't have enough elapsed-time stats + for the host/app_version. + The right formula is (peak FLOPS)/app_version.avg_pfc + + sched/ + sched_version.cpp diff --git a/sched/sched_version.cpp b/sched/sched_version.cpp index 2ea792863c..62f61883ef 100644 --- a/sched/sched_version.cpp +++ b/sched/sched_version.cpp @@ -323,11 +323,11 @@ void estimate_flops(HOST_USAGE& hu, APP_VERSION& av) { ); } } else { - if (av.pfc_scale) { - hu.projected_flops *= av.pfc_scale; + if (av.pfc.n > MIN_VERSION_SAMPLES) { + hu.projected_flops = hu.peak_flops/av.pfc.get_avg(); if (config.debug_version_select) { log_messages.printf(MSG_NORMAL, - "[version] [AV#%d] (%s) adjusting projected flops based on PFC scale: %.2fG\n", + "[version] [AV#%d] (%s) adjusting projected flops based on PFC avg: %.2fG\n", av.id, av.plan_class, hu.projected_flops/1e9 ); }