-
Notifications
You must be signed in to change notification settings - Fork 100
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
GPU accelerated support #66
Comments
Sure! How could we maintain that these two modules share a common base of functions and sync between them? |
Hi, I set up a EIT community organization, |
Not sure yet, since each update in the classic module needs to be manually rewritten and optimized for gpu, as stated in #22 . I managed to make it work on gpu, but it is insanely slow (it constantly needs to send back and forth data between host memory and gpu memory, because I haven't optimized it yet). I am actively looking into it, and when I will have something working (at least for fem and jac), then I will create and push on a new repo |
Hi @liubenyuan , |
Thank you for your effort. And make pyeit-gpu as is and keep this repository. I will also try the gpu accelerated version of forward computing nevertheless. We could share the results :) |
Alright, I will push what I have done so far, you will find the Update: Just as a reference, on my system, it takes around 5 min 33s to reconstruct the example with 16 electrodes (GPU: Nvidia RTX 2060 6GB), against 37s on the CPU (AMD Ryzen 3 3100 4-Core 3.9 GHz) |
I have updated the README file on the dev branch so you have clearer informations on how to setup everything :) |
@liubenyuan Since issue #22, I was wondering how to implement GPU support in the module. Could it be a thing to have a second module, completely separated? Like tensorflow and tensorflow-gpu? It may allow us to have gpu acceleration and have gpu specific optimizations in the program.
This would need 2 separated pipelines, but it could be of a great help to a lot of people. And the limited memory allowed on a single GPU makes it a good start to take a look at huge models support, since we would need some kind of slicing/dataflow method we could as well implement in the classic module.
The text was updated successfully, but these errors were encountered: