This is cool, but they should have just used Vulkan. Dawn is a massive dependency (and a PITA to build, in my experience) to get what's basically a wrapper around Vulkan. Vulkan has a reputation for being difficult to work with, but if you just want to use a compute queue it's not that horrible. Also, since Vulkan uses SPIR-V, the user would have more choices for shading languages. Additionally, with RenderDoc you get source-level shader debugging.
Shameless plug: in case anyone wants to see how doing just compute with Vulkan looks like, I wrote a similar library to compete on SHAllenge [0], which was posted here on HN a few days ago. My library is here: https://github.com/0xf00ff00f/vulkan-compute-playground/
Hi, author here! Agh I was intending for the project to fly under the radar for a few more days before making the announcement and blog post (please look/upvote that when you see it haha :)
But since this is starting I'm happy to chat. Nice to see the interest here!
TIL you can run the WebGPU runtime without a browser.
We just published an article introducing gpu.cpp, what it's for, and how it works:
I watched the video mentioned in the post [1], but now I’m more confused than before…
What are the benefits, if any, of using gpu.cpp instead of just webgpu.h (webgpu native) directly? Maybe each is tailored for different use cases?
This is awesome! Was looking at creating similar, inspired by the miniaudio approach. Will likely contribute a dart wrapper soon.
Any performance metrics vs Vulkan, metal, etc?
This looks useful but I'm worried about portability. Are there any plans for native Windows support?
Very interesting... I wonder, how does code performance compares to raw Vulkan?
Is this intended to integrate well in an existing WebGPU project?
Oh nice! Would love to see a Rust crate wrapping bindings for this
> The only library dependency of gpu.cpp is a WebGPU implementation.
Noo
Portable, as in Windows native is not supported?
[flagged]
This looks great. Is there an equivalent project in rust?
Lovely! I like how the API is in a single header file that you can read through and understand in one sitting.
I've worked with OpenGL and Direct3D and Metal in the past, but the pure compute side of GPUs is mostly foreign to me. Learning CUDA always felt like a big time investment when I never had an obvious need at hand.
So I'm definitely going to play with library and try to get up to speed. Thanks for publishing it.