From 3709c1e9f42fa5cedd8a018855cdc7acd95f0ae9 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Tue, 24 Feb 2009 00:06:45 +0000 Subject: [PATCH] - scheduler: include driver version in the CUDA description string storing in the database; - web: display the above svn path=/trunk/boinc/; revision=17341 --- checkin_notes | 13 +++++++++++++ client/cpu_sched.cpp | 12 +++++++++--- client/work_fetch.h | 2 +- html/inc/host.inc | 5 +++++ lib/coproc.cpp | 4 +++- 5 files changed, 31 insertions(+), 5 deletions(-) diff --git a/checkin_notes b/checkin_notes index 100fc808d9..7fd126df73 100644 --- a/checkin_notes +++ b/checkin_notes @@ -1963,3 +1963,16 @@ Charlie 22 Feb 2009 clientscr/ screensaver.cpp + +David 22 Feb 2009 + - scheduler: include driver version in the CUDA description string + storing in the database; + - web: display the above + + client/ + cpu_sched.cpp + work_fetch.h + html/inc/ + host.inc + lib/ + coproc.cpp diff --git a/client/cpu_sched.cpp b/client/cpu_sched.cpp index 5e43c846db..0494ea1be9 100644 --- a/client/cpu_sched.cpp +++ b/client/cpu_sched.cpp @@ -315,10 +315,14 @@ void CLIENT_STATE::reset_debt_accounting() { for (i=0; icpu_pwf.reset_debt_accounting(); - p->cuda_pwf.reset_debt_accounting(); + if (coproc_cuda) { + p->cuda_pwf.reset_debt_accounting(); + } } cpu_work_fetch.reset_debt_accounting(); - cuda_work_fetch.reset_debt_accounting(); + if (coproc_cuda) { + cuda_work_fetch.reset_debt_accounting(); + } debt_interval_start = now; } @@ -364,7 +368,9 @@ void CLIENT_STATE::adjust_debts() { // adjust long term debts cpu_work_fetch.update_debts(); - cuda_work_fetch.update_debts(); + if (coproc_cuda) { + cuda_work_fetch.update_debts(); + } // adjust short term debts rrs = runnable_resource_share(); diff --git a/client/work_fetch.h b/client/work_fetch.h index 0e09d216a6..327cce9122 100644 --- a/client/work_fetch.h +++ b/client/work_fetch.h @@ -110,7 +110,7 @@ struct RSC_WORK_FETCH { // debt accounting double secs_this_debt_interval; inline void reset_debt_accounting() { - secs_this_debt_interval = 0; + this->secs_this_debt_interval = 0; } void rr_init(); diff --git a/html/inc/host.inc b/html/inc/host.inc index b017710063..a45bce9556 100644 --- a/html/inc/host.inc +++ b/html/inc/host.inc @@ -242,6 +242,11 @@ function gpu_desc($x) { if ($y[0] == "CUDA") $z .= "NVIDIA "; $z .= $y[1]; $z .= " (".$y[3].")"; + if (array_key_exists(4, $y)) { + if ($y[4] != "" && $y[4] != 0) { + $z .= " driver: ".$y[4]; + } + } return $z; } diff --git a/lib/coproc.cpp b/lib/coproc.cpp index b2f04e0176..a77037fc27 100644 --- a/lib/coproc.cpp +++ b/lib/coproc.cpp @@ -83,7 +83,9 @@ void COPROCS::summary_string(char* buf, int len) { if (!strcmp(cp->type, "CUDA")) { COPROC_CUDA* cp2 = (COPROC_CUDA*) cp; int mem = (int)(cp2->prop.dtotalGlobalMem/MEGA); - sprintf(buf2, "[CUDA|%s|%d|%dMB]", cp2->prop.name, cp2->count, mem); + sprintf(buf2, "[CUDA|%s|%d|%dMB|%d]", + cp2->prop.name, cp2->count, mem, cp2->drvVersion + ); strcat(bigbuf, buf2); } }