Replies: 2 comments 1 reply
-
|
I agree! We briefly discussed this on discord a couple weeks ago but I don't think anyone has gotten around to expanding the docs. We should clearly document the backends available, and perhaps include a table similar to the one in the README. We should also include brief recommendations on which backend to use based on hardware (though this is more of a rule of thumb, as it might depend on the workload). Perhaps we could include a new section under "Performance" which discusses "Available Backends" (and likely reflect part of this information in the docs.rs). Also, the current approach requires users to instantiate different backend types (typically feature-gated), which is not as ergonomic or flexible. But we plan to rework this to make it more easily discoverable and allow better usage of multiple backends. |
Beta Was this translation helpful? Give feedback.
-
|
That sounds great! Would it be helpful if I put together a draft for the new 'Available Backends' section? I’d be happy to take that on. In the meantime, could you point me to a snippet or the source code for initializing the new LLVM CPU (CubeCL) backend? I haven't been able to get that running yet. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
First, I'm really excited about the progress of the framework, especially the new features in release 0.19!
I'm opening this discussion to suggest creating a single, centralized documentation page or a clear example in the repository that shows how to properly import and instantiate all supported backends.
Every time a new backend is added or I want to switch projects to a different one (e.g., from wgpu to candle or ndarray), I find myself spending a significant amount of time searching through release notes, crate documentation, GitHub issues and source code to find the correct:
A perfect example of this is the new LLVM-based CPU backend announced in the 0.19 release notes. I was very interested in trying it, but I haven't been able to find a clear, simple code example showing how to enable and use it, unlike the straightforward wgpu example in the main "Get Started" guide.
My suggestion is to create a single "Backends & Devices" example or documentation page that provides a clear, copy-paste-ready snippet for each supported backend.
Beta Was this translation helpful? Give feedback.
All reactions