5 ms·
Is the demo using user agent strings to determine compatibility? That's not good, and feature compatibility should be determined on a case-by-case basis by simp
by soulofmischief 2y ago
Is the demo using user agent strings to determine compatibility? That's not good, and feature compatibility should be determined on a case-by-case basis by simply attempting to detect/use the specific feature.
I am on Chromium, not Chrome, and use WebGPU all the time, but the demos tell me to use Chrome, which I cannot do ethically. Would love to try the demos out, this looks like a lot of hard work!
- robin_reala 2y agoDon’t think so. I’m on a Firefox that has experimental WebGPU support enabled, and it fails with shader compilation errors rather than any message.
- drusepth 2y agoIf this is the case, I imagine it'd be pretty easy to spoof your UA and see the demo, even from Chromium.
- gpm 2y ago> and use WebGPU all the time I'm curious, what for?
- soulofmischief 2y agoI've used it to build and/or run various machine learning models for text generation, speech recognition, image generation, depth estimation, etc. in the browser, in support of an agentic system I've been building out. Lots of future possibilities as well once support is more ubiquitous!
- password4321 2y agoYour ideas are intriguing to me and I wish to subscribe to your newsletter.
- soulofmischief 2y agoI appreciate that, anything in particular catch your interest?
- password4321 2y agoI am most interested in speech recognition including diarization.
- soulofmischief 2y agoI'll try to find time to write about it, but in the meantime if you just want to try something that works, Xenova published some tools and examples about two months ago which I'm sure will give you a good start. https://github.com/xenova/whisper-web/tree/experimental-webgpu/src https://github.com/xenova/whisper-web/tree/experimental-webg... https://huggingface.co/spaces/Xenova/whisper-speaker-diarization/tree/main https://huggingface.co/spaces/Xenova/whisper-speaker-diariza... https://huggingface.co/onnx-community/pyannote-segmentation-3.0/tree/main https://huggingface.co/onnx-community/pyannote-segmentation-... Speaker diarization is quite difficult as you know, especially in loud or crowded environments, and the model is only part of the story. A lot of tooling needs to be built out for things like natural interruption, speaker memory, context-switching, etc. in order to create a believable experience.
- password4321 2y agoThanks for the links! Most of the fined tuned diarization models are locked up behind SaaS paywalls, not open weights usable directly.
- Twirrim 2y agoIt's not working for me on Chrome under Linux, nor on Android, for what it's worth (though Firefox is what I use for practically all my browsing needs). Something really odd with their detection logic.
- pjmlp 2y agoWebGPU is not supported on Linux, and it won't for the foreseeable future. On Android you should have at least Android 12, with good enough Vulkan drivers, not blacklisted.
- sva_ 2y ago> WebGPU is not supported on Linux, and it won't for the foreseeable future. A lot of it runs fine with a flag.
- pjmlp 2y agoThat isn't really something for production use.
- Nathanael_M 2y agoNeither is this experiment.
- littlestymaar 2y ago> and it won't for the foreseeable future. Do you know what's blocking?
- bakugo 2y ago>Is the demo using user agent strings to determine compatibility >I am on Chromium, not Chrome Don't know about your build, but I'm using Ungoogled Chromium, and it has the exact same user-agent string as Google Chrome. Have you enabled the WebGL permission for the site in site settings? I think it was disabled by default for me.
- Const-me 2y agoIt seems the demos are just broken. I'm getting this error: WebGPU error [frame][validation]: Fill size (7160950) is not a multiple of 4 bytes. - While encoding [CommandEncoder "main-frame-cmd-buffer"].ClearBuffer([Buffer "rasterize-sw"], 0, 7160950).
- robocat 2y ago> feature compatibility should be determined on a case-by-case basis by simply attempting to detect/use the specific feature That's a fine goal. When writing my own component framework for browsers, detection was regularly impossible and I had to depend on browser sniffing. Modernizr code has some very smart hacks (sometimes very dirty hacks) to detect features - a large amount of work for them to develop trustworthy detection code. And detection was usually via side-effects. My educated guess is that feature detection for Web3D is not simple. A quick google and I didn't find an obvious Web3D feature detection library. Here's part of the detection code for :checked support in Modernizr: Modernizr.addTest('checked', function(){ return Modernizr.testStyles('#modernizr input {width:100px} #modernizr :checked {width:200px;display:block}', function(elem, rule){