GithubHelp home page GithubHelp logo

Comments (7)

palmada avatar palmada commented on July 16, 2024

I compared what changed between 1.0.2 and 1.0.3 of quote and it seems that __rt has been renamed to __private. The author seemed to be unhappy about other developers using __rt, as per the comments on that commit:

dtolnay/quote@4154389

Make it clearer that __rt isn't public

This was doc(hidden) and commented "Not public API" but occasionally
people still decide they should refer to it.

from emu.

matveyryabov avatar matveyryabov commented on July 16, 2024

I am having the same issue. When I tried to hardset the quote package to version 1.0.2 it started giving errors that em_quote requires version 1.0.3. Were you able to get anywhere further with this issue?

from emu.

sezna avatar sezna commented on July 16, 2024

It is unfortunate that they didn't decide to at least make that a minor version bump, as this broke a lot of crates overnight. Additionally, 1.0.2 was yanked, which is what this crate uses.

I'm going to take a whack at fixing this.

from emu.

calebwin avatar calebwin commented on July 16, 2024

@sezna @matveyryabov @palmada

Thanks for the interest, everyone. I just released a new version that totally shifts the focus of this project (for like the third time? i think?). The details are on the README, but basically I created a compute-specific abstraction over WebGPU giving a simple API for doing compute with WebGPU.

Currently, it still makes use of GLSL as a language but the design is such that you can swap out the compiler with a new one (like maybe RLSL?). Anyway, if you guys could check it out and let me know your thoughts that would be great!

from emu.

sezna avatar sezna commented on July 16, 2024

@calebwin awesome! This is a really impressive project, and I am excited to use this new version. It looks like a more fully-featured, simple in a good way, API without as much "magic", which is something I value.

As for feedback, I am not as familiar with WebGPU as I am with OpenCL or CUDA, so a lot of this new stuff isn't usable for me until I learn how to rewrite my simulation (my primary use case is n-body simulations) using it. That being said, I do have a preliminary question that I couldn't find on WebGPU's website: does the performance of WebGPU match the performance of OpenCL? I was under the impression that it provides a web-based API to the GPU but lacks the performance of OpenCL, and certainly CUDA.

Also, would you consider releasing the previous macro-based version either as a feature, branch, or separate repo, just for those few who depend upon it in other projects? At least for the time being, I will be pinning to my fixed fork, because I will be going and learning WebGPU to update. If you'd like, I could help maintain it.

from emu.

calebwin avatar calebwin commented on July 16, 2024

Thank you for your kind words!

I don't think you need to know WebGPU as much you just need to know the GLSL language (to use Emu, that is). In terms of performance, while I haven't done any benchmarking, WebGPU shouldn't be significantly worse than OpenCL. Most of what it's doing is straightforward forwarding to Vulkan/Metal/DX functions. And you can most certainly optimize your code in similar ways such as based on shared memory, wide data types, swizzles, register blocking, etc. Also, even if performance is slightly lacking, I think having reproducible code that anyone can just open and run on their integrated/discrete GPU can be useful.

So, and given that the macro-based version supports a pretty small subset of Rust, I would recommend learning GLSL compute shaders and using this new version of Emu. That said, the old version is still up on Crates.io and in the same location on GitHub and you're more than welcome to work with it.

from emu.

sezna avatar sezna commented on July 16, 2024

Oh, that makes sense. I'm a little new in this space in general, so I'll go take a look at GLSL. Thanks for the link to the resources.

What I meant by releasing the previous macro-based version was releasing a crates.io patch release including the quote crate fixes, as the version currently on crates.io doesn't compile due to that breaking change. A rev-pinned git dep should do the trick, though.

Again, thanks for contributing this great tool.

from emu.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.