Rust-GPU / Rust-CUDA

Ecosystem of libraries and tools for writing and executing fast GPU code fully in Rust.
Apache License 2.0
3.02k stars 115 forks source link

Graph API #27

Open thedodd opened 2 years ago

thedodd commented 2 years ago

First, thanks for all of the excellent work on this! I have a workload which could benefit from the Graph API (as opposed to just using individual stream submissions and such).

Any ideas on LOE to implement, what current blockers are, and so on?

Perhaps we can discuss what getting started on implementing this should look like, desired API style, and all that.

RDambrosio016 commented 2 years ago

I started some WIP graph stuff a while ago to see what the API was like, and from what i can tell there is basically no way to make it safe because of the sheer amount of things that could go wrong. The graph API is also large, really large. I will probably not focus on graphs for a while since there are much more pressing features that need attention, but if anyone would like to work on it i would be happy to review any PRs or talk about it.

thedodd commented 2 years ago

By your analysis, is stream capture (for graph building) the main source of unsafety? Or is it more broad than that (such as standard graph building and execution)?

RDambrosio016 commented 2 years ago

graphs combine the most unsafe parts of CUDA in one very dangerous package: