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

Utilization of PETSc solvers #321

Open
kenneth-meyer opened this issue Jun 10, 2020 · 3 comments
Open

Utilization of PETSc solvers #321

kenneth-meyer opened this issue Jun 10, 2020 · 3 comments

Comments

@kenneth-meyer
Copy link

Hello,

No real issue here, just a question and looking for advice (and not signed up for mailing list yet). I'm currently exploring replacing some of the DUNE-based solvers in OPM with PETSc based solvers and I came across @jokva 's thesis. To @jokva I just wanted to confirm; this petsc-support branch contains all of the code relevant to your thesis and any further work with utilizing PETSc libraries within opm correct? And what is the best way to clone this/get OPM running on my local system using the petsc library/your code? (apologies if that is a dumb question, I'm still learning and somewhat blindly followed the OPM instruction guide without much understanding of how to change the repo the backend is running from).

Additionally, to all, are there other good examples of where petsc solvers have been leveraged within OPM, and if so do they utilize GPUs (and where could I find these exapmles?). I am very new to the OPM codebase so any help or guidance is greatly appreciated!

Sincerely,
Kenneth Meyer

@alfbr
Copy link
Member

alfbr commented Jun 10, 2020

Hi Kenneth,

It has been a long time since Jørgen's thesis, and both Petsc and GPUs have seen a couple of iterations of implementations since then. Too much to cover in a github comment, so just a short summary from my end. Jørgen's work was limited to upscaling, and showed very interesting results. Bringing this work into Flow, the reservoir simulator, proved to be very challenging. Multiple developers from Norce succeeded however, demonstrating that the Dune solvers are quite competitive (an exercise we have done with multiple solver code bases over the years). GPUs are different beasts. The only successful (meaning actually giving a performance benefit) work there was done by Tong Dong with the help of Nvidia. That implementation is still in the early days. You will find the latest PR here:
OPM/opm-simulators#2628
If you want more details, it will help to know the basis of your interest.

@jokva
Copy link
Contributor

jokva commented Jun 10, 2020

To @jokva I just wanted to confirm; this petsc-support branch contains all of the code relevant to your thesis and any further work with utilizing PETSc libraries within opm correct?

Not really. It did, at the time, provide enough code to be a useful starting point atleast, but a few design choices would probably never have made it upstream, and since then opm has moved a lot.

@kenneth-meyer
Copy link
Author

Thank you for the clarification Jorgen and thank you for the information @alfbr - looks like a good place to start. Once I have a better understanding of everything, if I have any specific questions I will let y'all know. Thanks again!

Kenneth

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