Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider mentioning Manuel Drehwald's LLVM offload work in Ecosystem section #56

Open
HadrienG2 opened this issue Nov 27, 2024 · 4 comments

Comments

@HadrienG2
Copy link

HadrienG2 commented Nov 27, 2024

It's still very early days and I'm not sure if normal people can even try it out yet. But I find that approach interesting because if we can get it to work, from my understanding, it means we can share a large fraction of the work with LLVM's C/++/Fortran OpenMP 4 backends, and that gives us access to a much larger workforce than Rust-on-GPU has ever enjoyed so far. So I'm curious to see what it will lead us to.

As far as I know, the main way to track progress right now is to subscribe to this github issue.

cc @ZuseZ4 for corrections and additional details.

@HadrienG2
Copy link
Author

PS: By the way, thanks a lot for writing that section! It may sound like it does not belong to rust-gpu's core area of expertise, but I've been looking for a while for a centralized landing pad to point people to the various projects for Rust GPU compute.

@ZuseZ4
Copy link

ZuseZ4 commented Nov 27, 2024

Hi and thanks for the ping.
Yes the idea of the std::offload module is to just reuse LLVM's GPU Infra. LLVM can these days run almost anything on the gpu, see for example https://www.phoronix.com/news/DOOM-ROCm-LLVM-Port
So we can run both std and no-std dependencies on the gpu. I also have a slightly different design which I presented at the llvm dev and the rust scientific computing conference. The benefit is that it handles noalias (e.g. rust slices) a bit better, I think that point got raised by Sarah (faer) in the last reddit.

I have added a flag to rustc so people can play around with llvm-offload if they build it from source. But we don't have any proper examples or docs yet since I decided to focus on finishing upstreaming of std::autodiff first, the last two PRs for that should hopefully land next week

@schell
Copy link
Contributor

schell commented Nov 27, 2024

This is great, thanks for pointing me towards this work, I'll be following along :)

@LegNeato
Copy link
Contributor

LegNeato commented Nov 27, 2024

Is this the same as https://www.reddit.com/r/rust/comments/1esp2u8/compiler_based_autodiff_backpropagation_for/?

I'm happy to add any project there as long as the description is easy for newcomers to GPU programming to understand.

FWIW my hope is to convert the Rust GPU GitHub org / website to a central place for GPU adjacent things. I have suggested the rust-gpu project change its name to narrow scope so we can make "rust GPU" a bigger tent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants