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

Add GPU execution support? #778

Open
v1gnesh opened this issue Jul 18, 2020 · 4 comments
Open

Add GPU execution support? #778

v1gnesh opened this issue Jul 18, 2020 · 4 comments

Comments

@v1gnesh
Copy link

v1gnesh commented Jul 18, 2020

Would it be possible to add GPU execution support?
GPU's are well known for parallellism & working with the cuDF / RAPIDS ecosystem, is it possible to add GPU parallel processing capability in Rayon?

@cuviper
Copy link
Member

cuviper commented Jul 18, 2020

GPU parallelism is powerful, but not a good match for rayon's work-stealing model. I think you'd need something designed for homogenous workloads, and it probably needs compiler support to mix different target machines, if you want the host CPU to transparently "call" functions on the GPU.

@v1gnesh
Copy link
Author

v1gnesh commented Jul 31, 2020

Ok ... do you know of any crates currently working on GPU parallellism, or core-agnostic scheduling?
Also, does the Rust compiler support execution on GPUs?

@cuviper
Copy link
Member

cuviper commented Aug 3, 2020

do you know of any crates currently working on GPU parallellism,

There are a few crates that bind OpenCL or CUDA, but I haven't used them.

or core-agnostic scheduling?

Not that I know of.

Also, does the Rust compiler support execution on GPUs?

There's an unstable target for nvptx64-nvidia-cuda, but it doesn't seem like anyone is working on it.
Here's the tracking bug: rust-lang/rust#38789

@Walther
Copy link

Walther commented Oct 22, 2020

Related and probably of interest: https://github.com/EmbarkStudios/rust-gpu

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

3 participants