GitHub Actions commited on
Commit
cfcfe07
·
1 Parent(s): 14e3a15

sync from abhijitramesh/webgpu-bench@7eb8411897

Browse files
Files changed (1) hide show
  1. bench.html +99 -0
bench.html ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>WebGPU Benchmark — One Click</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1">
7
+ <link rel="stylesheet" href="bench.css">
8
+ <!-- Import map so `@huggingface/hub` resolves in the browser via esm.sh.
9
+ Must appear before any <script type="module">. -->
10
+ <script type="importmap">
11
+ {
12
+ "imports": {
13
+ "@huggingface/hub": "https://esm.sh/@huggingface/hub"
14
+ }
15
+ }
16
+ </script>
17
+ </head>
18
+ <body>
19
+ <header>
20
+ <div class="title-row">
21
+ <h1>WebGPU Benchmark <span class="muted">— One Click</span></h1>
22
+ <span class="mode-badge" id="mode-badge" title="Detection source">…</span>
23
+ </div>
24
+ <div id="device-line" class="muted">Detecting device…</div>
25
+ <div id="budget-line" class="muted"></div>
26
+ </header>
27
+
28
+ <section class="filters" aria-label="Variant visibility filters">
29
+ <span class="filter-label">Hide:</span>
30
+ <label><input type="checkbox" id="hide-ud"> UD</label>
31
+ <label><input type="checkbox" id="hide-iq"> IQ</label>
32
+ <label><input type="checkbox" id="hide-hifp"> BF16/F16</label>
33
+ <span class="filter-hint">(visual only, does not uncheck)</span>
34
+ </section>
35
+
36
+ <section id="models-panel" aria-label="Models">
37
+ <p id="models-loading" class="muted">Loading models…</p>
38
+ </section>
39
+
40
+ <section id="hub-section" class="output-actions" hidden aria-label="Hugging Face dataset">
41
+ <button id="btn-signin" class="secondary">Sign in with Hugging Face</button>
42
+ <button id="btn-submit" disabled>Submit to leaderboard dataset</button>
43
+ <span id="hf-user" class="muted"></span>
44
+ </section>
45
+
46
+ <section class="controls">
47
+ <label class="iterations-control">
48
+ Iterations per variant:
49
+ <input type="number" id="iterations-input" value="5" min="1" max="50" step="1">
50
+ <span class="filter-hint">min 5 to submit</span>
51
+ </label>
52
+ <button id="btn-download" disabled>Download selected</button>
53
+ <button id="btn-run" disabled>Run benchmarks</button>
54
+ <button id="btn-abort" class="danger" disabled>Abort</button>
55
+ <button id="btn-purge" class="secondary" hidden>Purge OPFS cache</button>
56
+ <span id="queue-status" class="muted"></span>
57
+ </section>
58
+
59
+ <section id="progress-panel" hidden aria-label="Run progress">
60
+ <h2>Progress</h2>
61
+ <table id="progress-table">
62
+ <thead>
63
+ <tr>
64
+ <th>Model</th>
65
+ <th>Variant</th>
66
+ <th>Status</th>
67
+ <th class="num">Prefill tok/s</th>
68
+ <th class="num">Decode tok/s</th>
69
+ <th class="num">Wall s</th>
70
+ <th>Error</th>
71
+ </tr>
72
+ </thead>
73
+ <tbody></tbody>
74
+ </table>
75
+ </section>
76
+
77
+ <section id="output-panel" hidden aria-label="Output">
78
+ <h2>Output</h2>
79
+ <div id="output-actions-local" class="output-actions">
80
+ <label>
81
+ <input type="checkbox" id="save-local" checked>
82
+ Save to <code>results/results.json</code> on this server
83
+ </label>
84
+ </div>
85
+ <textarea id="output-textarea" readonly spellcheck="false"></textarea>
86
+ <div class="output-buttons">
87
+ <button id="btn-copy" class="secondary">Copy</button>
88
+ <button id="btn-download-json" class="secondary">Download JSON</button>
89
+ </div>
90
+ </section>
91
+
92
+ <details id="log-panel">
93
+ <summary>Run log</summary>
94
+ <pre id="log-output"></pre>
95
+ </details>
96
+
97
+ <script type="module" src="bench-app.js"></script>
98
+ </body>
99
+ </html>