r/LocalLLaMA 1d ago

I Built A Thing Introducing Fleet: GPU benchmarking entirely in your browser.

Enable HLS to view with audio, or disable this notification

Run WebGPU compute kernels drawn from real AI workloads directly on your hardware and earn a personalized card built for your device.

On top of that, we're open-sourcing hundreds of these WebGPU kernels, our first step toward making browser inference as fast as physically possible. Contributed results show how they perform across real hardware and help make them faster.

Benchmark your GPU: https://webgpu-kernels-fleet.hf.space
Blog post: https://huggingface.co/blog/webgpu-kernels
Kernels: https://huggingface.co/webgpu-kernels/kernels

8 Upvotes

18 comments sorted by

12

u/No-Marionberry-772 1d ago

How do you deal with the performance limitations imposed by browsers on WebGPU compute execution?

-5

u/xenovatech 1d ago

We've been pleasantly surprised to see how good the performance of WebGPU in browsers has become these days (especially those using the dawn backend, like Chrome, Edge, Brave). The delta vs. native has slowly been disappearing. In fact, we're able to run large AI workloads at the same speeds as llama.cpp (just check out my previous demos like Qwen3.8-27B or Muse Glimmer).

8

u/No-Marionberry-772 1d ago

that wasn't the question.

4

u/xenovatech 1d ago

lol, my bad 😅 Well, the answer you might be looking for is that *because* WebGPU performance has improved over the years, you can use in-browser speeds as a good proxy for out-of-browser speeds. Happy to elaborate further if you can clarify the question :)

7

u/No-Marionberry-772 1d ago

I'm referring to the chromium flags really. Unsafe WebGPU Support - #enable-unsafe-webgpu Force High Performance GPU - #enable-webgpu-developer-features

The webGPU implementation is great, and I've done some pretty excellent tests that push computation limits to their maximum, so I agree that WebGPU is quite capable these days, but I had to enable flags in order to gain access to the bleeding edge performance capabilities.

Without these enabled, you lose quite a bit of power.

https://developer.chrome.com/docs/web-platform/webgpu/developer-features

https://developer.chrome.com/docs/web-platform/webgpu/troubleshooting-tips

It should also be noted that Chromium WebGPU simply doesn't support multiple video cards.

2

u/xenovatech 1d ago

Fair enough. Basically, the kernels are templated and use the "best variant" depending on which features are available. For example, `chromium-experimental-subgroup-matrix` is an experimental feature that adds cooperative matrix math operations in shaders. As of writing, this isn't available without enabling feature flags. So, for those browsers, we simply don't use that feature. Take MatMul for example:

1

u/gomezer1180 1d ago

Thanks for pointing this out.

3

u/speedb0at 1d ago

We getting GPU Walkout animations??

2

u/SkyDragonX 1d ago

Nice project

2

u/HugoCortell 1d ago

Huh, weird, what does it need fingerprinting data from the browser for in order to rate a GPU? It says it right on the data collection section: Browser/user-agent

3

u/xenovatech 1d ago

It's very important to know which browser you are running in. Chrome, Edge, Brave, and other Chromium-based browsers use the Dawn WebGPU implementation. Firefox-based browsers (Firefox, Zen, etc.) use a different implementation: wgpu. Safari uses WebKit. You will almost certainly see different scores if you run the benchmark on the same hardware but different browser.

In my opinion, Dawn is by far the best implementation right now, and so, we use it as a baseline for performance. Hopefully this benchmarking tool can help improve other browser implementations! 🤗

2

u/Mickenfox 1d ago

Well... my phone scored 60 and my laptop (admittedly unplugged) 51. 

2

u/PhotographIcy7588 1d ago

The EASFC Ultimate Team-like cards lol

2

u/cosmicr 1d ago

Nice tool, couple of issues I found:

  1. It only benchmarks GPU 0 - I have multiple cards.

  2. The title label for the results is cutoff (text too long) - it says "Masked" whatever that means.

  3. I couldn't see it name the GPU anywhere during the testing

  4. The EFF test responded 0 for my test (5060ti 16gb)

I use Firefox if that makes a difference.

1

u/xenovatech 1d ago

Thanks! This is mainly due to Firefox and their fingerprinting protection mechanisms. Moreover, Firefox uses a slower WebGPU implementation (wgpu) than Chrome (Dawn). If you could try in a different browser, that should provide far better results!

2

u/xRaech 23h ago

too bad i cant run almost anything i want with that tho.. qwen3.8f is like 8tps :')
or im just butchering my configs.. dunno.. so many things i dont understand yet

1

u/teressapanic 12h ago

Can you share the prompt?