CoolFace
Datasetpublic

abgunaydin/webgpu-compute-benchmarks

WebGPU compute benchmarks across browsers and GPU vendors Every run submitted to gpubench.dev between 2026-03-30 and 2026-08-14, exported from the live table. WebGPU compute-shader throughput measured in real browsers on whatever hardware visitors happened to have. This exists because two preprints cite cross-vendor results from this table and the table is live and mutable, so those claims could not be checked by a reader. This snapshot is the checkable version.… See the full description on the dataset page: https://huggingface.co/datasets/abgunaydin/webgpu-compute-benchmarks.

sourceHugging Facecc-by-4.0updated 1mo agoView on Hugging Face
0likes21downloads
Dataset Card

WebGPU compute benchmarks across browsers and GPU vendors

Every run submitted to gpubench.dev between 2026-03-30 and 2026-08-14, exported from the live table. WebGPU compute-shader throughput measured in real browsers on whatever hardware visitors happened to have.

This exists because two preprints cite cross-vendor results from this table and the table is live and mutable, so those claims could not be checked by a reader. This snapshot is the checkable version.

Files

FileRowsWhat
benchmark_runs.csv794Five compute workloads — Rastrigin, N-body, Monte Carlo Pi, Acrobot, MountainCar, CartPole — plus a composite score
transformer_runs.csv380Fused vs unfused transformer decoding at D=32/64/128, L=1/4, with per-configuration speedups

Coverage

VendorRunsOSRuns
nvidia229Windows342
apple209macOS225
Unknown101Linux215
amd83Android11
qualcomm59ChromeOS1
intel56
arm35
google16
img-tec6

How many devices

There is no device identifier in this table, so "unique devices" depends on how you define it. Three defensible answers:

DefinitionCount
distinct gpu_name34
distinct (gpu_name, browser, os)119
distinct (gpu_name, os, screen size)174

Pick the one that suits the question and say which. Earlier material from this project published 592 and 92; neither corresponds to any of these, and both should be disregarded.

Caveats that matter

`max_buffer` is not a device capability. It holds 268435456 for all 794 rows, which is WebGPU's default maxBufferSize. The benchmark page never requested raised limits, so the column records what was asked for rather than what the adapter could offer.

`gpu_name` is adapter-reported and coarse. Chrome masks device strings, so values are architecture-level (apple metal-3, nvidia lovelace) and 101 rows report Unknown GPU. One value is a raw vendor id (0x2bb1).

No deduplication. A visitor who ran the benchmark repeatedly contributes several rows. There is nothing here to identify or group them, by design.

Uncontrolled conditions. Thermal state, competing load, browser version, and power mode are unknown per row. Treat cross-vendor comparisons as indicative, not as controlled measurements.

`score` is a composite of the workload throughputs, useful for ranking within this dataset and not comparable to any other benchmark.

Schema

benchmark_runs carries 59 columns: identity (id, created_at), device (gpu_name, gpu_vendor, gpu_arch, backend, os, browser, is_mobile, screen size, device_pixel_ratio), limits (max_buffer, features, max_workgroup_x/y/z, max_invocations), and per-workload throughput in generations per second with mean/min/max/std where the harness recorded repeats. bench_version distinguishes harness revisions; *_batched_gps columns appear only in later runs.

transformer_runs carries 23: the same device fields plus config, layers, d_model, dispatches, timings (unfused_ms, fused_1t_ms, parallel_ms, unfused_batched_ms), derived speedups, tokens_per_sec, and equiv_max_diff — the numerical difference between fused and unfused output, which is the correctness check on the fusion.

Privacy

No identifiers of any kind. id is a random UUIDv4 per submission. No IP addresses, accounts, or user-supplied text are collected. Device strings come from the WebGPU adapter and the user-agent, both already exposed to any page.

Source

Collected by gpubench.dev (source). Related work: zerotvm.com and kernelfusion.dev.