diff --git a/web/yaamp/core/backend/bench.php b/web/yaamp/core/backend/bench.php index 8de46f7..bbcb27f 100644 --- a/web/yaamp/core/backend/bench.php +++ b/web/yaamp/core/backend/bench.php @@ -6,7 +6,16 @@ function BenchUpdateChips() { require_once(app()->getModulePath().'/bench/functions.php'); + // some data cleanup tasks... dborun("UPDATE benchmarks SET device=TRIM(device) WHERE type='cpu'"); + dborun("UPDATE benchmarks SET power=NULL WHERE power<=3"); + dborun("UPDATE benchmarks SET plimit=NULL WHERE plimit=0"); + dborun("UPDATE benchmarks SET freq=NULL WHERE freq=0"); + dborun("UPDATE benchmarks SET memf=NULL WHERE memf=0"); + dborun("UPDATE benchmarks SET realmemf=NULL WHERE realmemf<=100"); + dborun("UPDATE benchmarks SET realfreq=NULL WHERE realfreq<=200"); + // bug in nvml 378.x (linux + win) + dborun("UPDATE benchmarks SET realfreq=NULL WHERE realfreq<=200 AND driver LIKE '% 378.%'"); $benchs = getdbolist('db_benchmarks', "IFNULL(chip,'')=''"); foreach ($benchs as $bench) { diff --git a/web/yaamp/modules/bench/index.php b/web/yaamp/modules/bench/index.php index 34e956f..1cb403c 100644 --- a/web/yaamp/modules/bench/index.php +++ b/web/yaamp/modules/bench/index.php @@ -62,7 +62,9 @@ echo << tr.ssrow.filtered { display: none; } -.page .footer { width: auto; }; +td.limited { color: silver; } +td.real { color: black; } +.page .footer { width: auto; }
@@ -156,8 +158,30 @@ foreach ($db_rows as $row) { else echo ''.$row['intensity'].''; - echo ''.($row['freq'] ? $row['freq'] : '-').''; - echo ''.(empty($row['power']) ? '-' : $row['power']).''; + // freqs + $title = ''; $class = ''; + $content = $row['freq'] ? $row['freq'] : '-'; + if (intval($row['realfreq']) > $row['freq'] / 10) { + $content = $row['realfreq']; + $class = 'real'; + $title .= 'Base clock: '.$row['freq'].' MHz'."\n"; + $title .= 'Mem clock: '.$row['realmemf'].' MHz ('.($row['realmemf']-$row['memf']).')'; + } else if ($row['memf']) { + $title = 'Mem Clock: '.$row['memf'].' MHz'; + } + $props = array('title'=>$title,'class'=>$class); + echo CHtml::tag('td', $props, $content, true); + + // power + $title = ''; $class = ''; + $content = $row['power'] ? $row['power'] : '-'; + if ($row['plimit']) { + $title = 'Power limit '.$row['plimit'].'W'; + $class = 'limited'; + } + $props = array('title'=>$title,'class'=>$class); + echo CHtml::tag('td', $props, $content, true); + echo ''.(empty($row['power']) ? '-' : mbitcoinvaluetoa(powercost_mBTC($row['power']))).''; echo ''.formatClientName($row['client']).''; echo ''.$row['os'].''; @@ -192,24 +216,24 @@ if (!empty($algo)) { if (arraySafeVal($avg, 'records') > 0) { echo ''; - echo ''.CHtml::link($algo,'/bench?algo='.$algo).''; - echo ' '; + echo ''.CHtml::link($algo,'/bench?algo='.$algo).''; + echo ' '; - echo 'Average ('.$avg["records"].' records)'; + echo 'Average ('.$avg["records"].' records)'; - echo ''.Itoa2(1000*round($avg['khps'],3),3).'H'; - echo ''.($avg['intensity'] ? round($avg['intensity'],1) : '').''; - echo ''.($avg['freq'] ? round($avg['freq']) : '').''; - echo ''.($avg['power'] ? round($avg['power']) : '').''; - echo ''.($avg['power'] ? mbitcoinvaluetoa(powercost_mBTC($avg['power'])) : '').''; + echo ''.Itoa2(1000*round($avg['khps'],3),3).'H'; + echo ''.($avg['intensity'] ? round($avg['intensity'],1) : '').''; + echo ''.($avg['freq'] ? round($avg['freq']) : '').''; + echo ''.($avg['power'] ? round($avg['power']) : '').''; + echo ''.($avg['power'] ? mbitcoinvaluetoa(powercost_mBTC($avg['power'])) : '').''; $hpw = 0; if (floatval($avg['power']) > 0) { $hpw = floatval($avg['khps']) / floatval($avg['power']); } - echo ''.($hpw ? Itoa2(1000*round($hpw,3),3).'H/W' : '').''; + echo ''.($hpw ? Itoa2(1000*round($hpw,3),3).'H/W' : '').''; - echo ' '; + echo ' '; echo ''; }