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

Running evofighters on a gpu #46

Open
deontologician opened this issue Feb 16, 2018 · 0 comments
Open

Running evofighters on a gpu #46

deontologician opened this issue Feb 16, 2018 · 0 comments
Labels
performance Performance related features speculative Some idea I had, not seriously considered implementation yet

Comments

@deontologician
Copy link
Owner

deontologician commented Feb 16, 2018

Looks like this isn't super feasible right now, but to track what kinds of options are out there:

  1. Rewrite main encounter code in cuda/opencl (nope, don't feel like it)
  2. Use something like rlsl or inspirv-rust to compile the main encounter code to a kernel to run on a gpu (SPIR-V is an intermediate language compiled by a gpu driver, and is fairly well supported vs older methods of telling the gpu what to do

I think if these projects get off the ground, it could be very feasible to move the main simulation code into a gpu kernel. The main issue at the moment is:

  • these project's maturity is very low
  • they rely on unstable features of the rust compiler
  • they go straight from MIR -> SPIR-V, and so don't gain the optimization benefits available to LLVM (which is currently where most rust optimization comes from. I believe there are very few optis in Rust -> MIR) so the kernel could be significantly slower
  • SPIR-V doesn't represent everything from rust super well, it might require a huge rewrite
@deontologician deontologician added Low Priority performance Performance related features labels Feb 16, 2018
@deontologician deontologician added speculative Some idea I had, not seriously considered implementation yet and removed Low Priority labels Mar 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Performance related features speculative Some idea I had, not seriously considered implementation yet
Projects
None yet
Development

No branches or pull requests

1 participant