Comments (7)
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:
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.
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.
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.
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.
@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.
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.
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)
- README instructions have various issues HOT 4
- Benchmarks HOT 3
- Benchmarks + against WebGPU
- Compiling error HOT 8
- Add badges to readme.md HOT 2
- Work group sizes greater than 32 don't work on Intel integrated GPU
- Important internal optimizations, potential bug
- Implementing more traits for `DeviceBox`
- Questions regarding the project HOT 1
- Logo is an ostrich not an emu HOT 1
- Unable to run on Ubuntu 20.04 due to python command HOT 1
- Rustdoc documentation search bar does not work
- Example code given in readme doesn't seem to work HOT 6
- coreaudio-sys AudioUnit compile error on Windows & Linux HOT 2
- em compilation fails, traits not implemented, and some missing imports? HOT 2
- Khronos ML summit
- `.finish()` stage of the shader compilation segfaults on NVIDIA Vulkan driver HOT 1
- Example panics at runtime (`COPY_DST` flag) HOT 4
- How to pass a 2D array of floats? HOT 2
- Current Project Status Update? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from emu.