- client: the weight of GPU debt in computing total debt should be

(estimated throughput of all GPUs)/(estimated throughput of all CPUs)
    rather than the ratio of 1 GPU to 1 CPU.
    This change will hopefully cause ratios of granted credit
    to more closely match resource shares.

svn path=/trunk/boinc/; revision=19311
This commit is contained in:
David Anderson 2009-10-16 02:48:55 +00:00
parent fe2a18f282
commit e86584f6cc
3 changed files with 14 additions and 3 deletions

View File

@ -8695,3 +8695,13 @@ David 15 Oct 2009
coproc.cpp,h
sched/
sched_customize.cpp
David 15 Oct 2009
- client: the weight of GPU debt in computing total debt should be
(estimated throughput of all GPUs)/(estimated throughput of all CPUs)
rather than the ratio of 1 GPU to 1 CPU.
This change will hopefully cause ratios of granted credit
to more closely match resource shares.
client
work_fetch.cpp,h

View File

@ -898,20 +898,21 @@ void WORK_FETCH::set_initial_work_request() {
//
void WORK_FETCH::init() {
cpu_work_fetch.init(RSC_TYPE_CPU, gstate.ncpus, 1);
double cpu_flops = gstate.ncpus*gstate.host_info.p_fpops;
// use 20% as a rough estimate of GPU efficiency
if (coproc_cuda) {
cuda_work_fetch.init(
RSC_TYPE_CUDA, coproc_cuda->count,
0.2*coproc_cuda->peak_flops()/gstate.host_info.p_fpops
coproc_cuda->count*0.2*coproc_cuda->peak_flops()/cpu_flops
);
}
if (coproc_ati) {
ati_work_fetch.init(
RSC_TYPE_ATI,
coproc_ati->count,
0.2*coproc_ati->peak_flops()/gstate.host_info.p_fpops
coproc_ati->count*0.2*coproc_ati->peak_flops()/cpu_flops
);
}

View File

@ -144,7 +144,7 @@ struct BUSY_TIME_ESTIMATOR {
struct RSC_WORK_FETCH {
int rsc_type;
int ninstances;
double speed; // relative to CPU
double speed; // total FLOPS relative to CPU total FLOPS
// the following used/set by rr_simulation():
//